summary refs log tree commit diff
path: root/synapse/http/server.py
diff options
context:
space:
mode:
authorSean Quah <8349537+squahtx@users.noreply.github.com>2022-05-11 17:22:34 +0100
committerGitHub <noreply@github.com>2022-05-11 17:22:34 +0100
commitbf7ce92bf7307ded3643d8cc5ee01aee21f23f58 (patch)
tree5566b374e9645cc70e2a0ddd402def3c9475ece2 /synapse/http/server.py
parentNo longer permit empty body when sending receipts (#12709) (diff)
downloadsynapse-bf7ce92bf7307ded3643d8cc5ee01aee21f23f58.tar.xz
Enable cancellation of `GET /members` and `GET /state` requests (#12708)
Enable cancellation of `GET /rooms/$room_id/members`,
`GET /rooms/$room_id/state` and
`GET /rooms/$room_id/state/$state_key/*` requests.

Signed-off-by: Sean Quah <seanq@element.io>
Diffstat (limited to 'synapse/http/server.py')
-rw-r--r--synapse/http/server.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/synapse/http/server.py b/synapse/http/server.py
index 756c6e1aee..e3dcc3f3dd 100644
--- a/synapse/http/server.py
+++ b/synapse/http/server.py
@@ -139,7 +139,9 @@ def cancellable(method: F) -> F:
             async def on_GET(self, request: SynapseRequest) -> ...:
                 ...
     """
-    if method.__name__ not in _cancellable_method_names:
+    if method.__name__ not in _cancellable_method_names and not any(
+        method.__name__.startswith(prefix) for prefix in _cancellable_method_names
+    ):
         raise ValueError(
             "@cancellable decorator can only be applied to servlet methods."
         )