summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-01-14 16:28:52 +0000
committerErik Johnston <erik@matrix.org>2016-01-14 16:28:52 +0000
commita50013fd996ba53cef88fa3b1a1ae380d5410052 (patch)
tree62806f72d84bc8e78a41a77477d85c8fc8b38a69 /synapse
parentMerge branch 'release-v0.12.1' into develop (diff)
parentClamp pagination limits to at most 1000 (diff)
downloadsynapse-a50013fd996ba53cef88fa3b1a1ae380d5410052.tar.xz
Merge pull request #497 from matrix-org/erikj/max_limit
Clamp pagination limits to at most 1000
Diffstat (limited to 'synapse')
-rw-r--r--synapse/streams/config.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/synapse/streams/config.py b/synapse/streams/config.py

index 8c082bf4e0..4f089bfb94 100644 --- a/synapse/streams/config.py +++ b/synapse/streams/config.py
@@ -22,6 +22,9 @@ import logging logger = logging.getLogger(__name__) +MAX_LIMIT = 1000 + + class SourcePaginationConfig(object): """A configuration object which stores pagination parameters for a @@ -32,7 +35,7 @@ class SourcePaginationConfig(object): self.from_key = from_key self.to_key = to_key self.direction = 'f' if direction == 'f' else 'b' - self.limit = int(limit) if limit is not None else None + self.limit = min(int(limit), MAX_LIMIT) if limit is not None else None def __repr__(self): return ( @@ -49,7 +52,7 @@ class PaginationConfig(object): self.from_token = from_token self.to_token = to_token self.direction = 'f' if direction == 'f' else 'b' - self.limit = int(limit) if limit is not None else None + self.limit = min(int(limit), MAX_LIMIT) if limit is not None else None @classmethod def from_request(cls, request, raise_invalid_params=True,