Add 'raw' query parameter to expose the event graph and signatures to savvy clients.
2 files changed, 8 insertions, 2 deletions
diff --git a/synapse/rest/events.py b/synapse/rest/events.py
index cf6d13f817..ac1a75a559 100644
--- a/synapse/rest/events.py
+++ b/synapse/rest/events.py
@@ -44,8 +44,11 @@ class EventStreamRestServlet(RestServlet):
except ValueError:
raise SynapseError(400, "timeout must be in milliseconds.")
+ trim_events = "raw" not in request.args
+
chunk = yield handler.get_stream(
- auth_user.to_string(), pagin_config, timeout=timeout
+ auth_user.to_string(), pagin_config, timeout=timeout,
+ trim_events=trim_events
)
except:
logger.exception("Event stream failed")
diff --git a/synapse/rest/initial_sync.py b/synapse/rest/initial_sync.py
index a571589581..d2c0c63aa6 100644
--- a/synapse/rest/initial_sync.py
+++ b/synapse/rest/initial_sync.py
@@ -27,12 +27,15 @@ class InitialSyncRestServlet(RestServlet):
def on_GET(self, request):
user = yield self.auth.get_user_by_req(request)
with_feedback = "feedback" in request.args
+ trim_events = "raw" not in request.args
pagination_config = PaginationConfig.from_request(request)
handler = self.handlers.message_handler
content = yield handler.snapshot_all_rooms(
user_id=user.to_string(),
pagin_config=pagination_config,
- feedback=with_feedback)
+ feedback=with_feedback,
+ trim_events=trim_events
+ )
defer.returnValue((200, content))
|