summary refs log tree commit diff
path: root/synapse/rest
diff options
context:
space:
mode:
authorKegan Dougal <kegan@matrix.org>2014-09-23 15:35:58 +0100
committerKegan Dougal <kegan@matrix.org>2014-09-23 15:35:58 +0100
commit0c4ae63ad52a0bbe6a7a0cc519686b57f655e254 (patch)
tree4846c6d2376172460d3c7c287c890247cc74fb8a /synapse/rest
parentPartial fix of SYWEB-28: If members do not have last_active_ago, compare thei... (diff)
downloadsynapse-0c4ae63ad52a0bbe6a7a0cc519686b57f655e254.tar.xz
Implemented /rooms/$roomid/state API.
Diffstat (limited to 'synapse/rest')
-rw-r--r--synapse/rest/room.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/synapse/rest/room.py b/synapse/rest/room.py
index ecb1e346d9..cf2e7af2e4 100644
--- a/synapse/rest/room.py
+++ b/synapse/rest/room.py
@@ -329,12 +329,13 @@ class RoomStateRestServlet(RestServlet):
     @defer.inlineCallbacks
     def on_GET(self, request, room_id):
         user = yield self.auth.get_user_by_req(request)
-        # TODO: Get all the current state for this room and return in the same
-        # format as initial sync, that is:
-        # [
-        #   { state event }, { state event }
-        # ]
-        defer.returnValue((200, []))
+        handler = self.handlers.message_handler
+        # Get all the current state for this room
+        events = yield handler.get_state_events(
+            room_id=urllib.unquote(room_id),
+            user_id=user.to_string(),
+        )
+        defer.returnValue((200, events))
 
 
 # TODO: Needs unit testing