Add raw query param for scrollback.

This commit is contained in:
Kegan Dougal 2015-01-08 14:36:33 +00:00
parent 379a653ae3
commit b5924cae04
2 changed files with 9 additions and 3 deletions

View File

@ -67,7 +67,7 @@ class MessageHandler(BaseHandler):
@defer.inlineCallbacks @defer.inlineCallbacks
def get_messages(self, user_id=None, room_id=None, pagin_config=None, def get_messages(self, user_id=None, room_id=None, pagin_config=None,
feedback=False): feedback=False, as_client_event=True):
"""Get messages in a room. """Get messages in a room.
Args: Args:
@ -76,6 +76,7 @@ class MessageHandler(BaseHandler):
pagin_config (synapse.api.streams.PaginationConfig): The pagination pagin_config (synapse.api.streams.PaginationConfig): The pagination
config rules to apply, if any. config rules to apply, if any.
feedback (bool): True to get compressed feedback with the messages feedback (bool): True to get compressed feedback with the messages
as_client_event (bool): True to get events in client-server format.
Returns: Returns:
dict: Pagination API results dict: Pagination API results
""" """
@ -99,7 +100,9 @@ class MessageHandler(BaseHandler):
) )
chunk = { chunk = {
"chunk": [self.hs.serialize_event(e) for e in events], "chunk": [
self.hs.serialize_event(e, as_client_event) for e in events
],
"start": pagin_config.from_token.to_string(), "start": pagin_config.from_token.to_string(),
"end": next_token.to_string(), "end": next_token.to_string(),
} }

View File

@ -314,12 +314,15 @@ class RoomMessageListRestServlet(RestServlet):
request, default_limit=10, request, default_limit=10,
) )
with_feedback = "feedback" in request.args with_feedback = "feedback" in request.args
as_client_event = "raw" not in request.args
handler = self.handlers.message_handler handler = self.handlers.message_handler
msgs = yield handler.get_messages( msgs = yield handler.get_messages(
room_id=room_id, room_id=room_id,
user_id=user.to_string(), user_id=user.to_string(),
pagin_config=pagination_config, pagin_config=pagination_config,
feedback=with_feedback) feedback=with_feedback,
as_client_event=as_client_event
)
defer.returnValue((200, msgs)) defer.returnValue((200, msgs))