summary refs log tree commit diff
path: root/synapse/streams/config.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-06-16 11:33:53 +0100
committerErik Johnston <erik@matrix.org>2016-06-16 11:33:53 +0100
commit96d6fff44787a53863b1321ed28f1636aa5dc78a (patch)
tree8de0fa637d4d9758948d806cf0c920eaa92c4df4 /synapse/streams/config.py
parentMerge branch 'develop' of github.com:matrix-org/synapse into erikj/paginate_sync (diff)
downloadsynapse-96d6fff44787a53863b1321ed28f1636aa5dc78a.tar.xz
Fix 'A next_batch token can be used in the v1 messages API'
Diffstat (limited to 'synapse/streams/config.py')
-rw-r--r--synapse/streams/config.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/synapse/streams/config.py b/synapse/streams/config.py

index 4f089bfb94..49be3c222a 100644 --- a/synapse/streams/config.py +++ b/synapse/streams/config.py
@@ -14,7 +14,7 @@ # limitations under the License. from synapse.api.errors import SynapseError -from synapse.types import StreamToken +from synapse.types import StreamToken, SyncNextBatchToken import logging @@ -72,14 +72,18 @@ class PaginationConfig(object): if direction not in ['f', 'b']: raise SynapseError(400, "'dir' parameter is invalid.") - from_tok = get_param("from") + raw_from_tok = get_param("from") to_tok = get_param("to") try: - if from_tok == "END": + from_tok = None + if raw_from_tok == "END": from_tok = None # For backwards compat. - elif from_tok: - from_tok = StreamToken.from_string(from_tok) + elif raw_from_tok: + try: + from_tok = SyncNextBatchToken.from_string(raw_from_tok).stream_token + except: + from_tok = StreamToken.from_string(raw_from_tok) except: raise SynapseError(400, "'from' paramater is invalid")