summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/5585.misc1
-rw-r--r--synapse/rest/consent/consent_resource.py4
2 files changed, 4 insertions, 1 deletions
diff --git a/changelog.d/5585.misc b/changelog.d/5585.misc
new file mode 100644
index 0000000000..6be06d4d0b
--- /dev/null
+++ b/changelog.d/5585.misc
@@ -0,0 +1 @@
+Synapse can now handle RestServlets that return coroutines.
diff --git a/synapse/rest/consent/consent_resource.py b/synapse/rest/consent/consent_resource.py
index 624c42441e..1ddf9997ff 100644
--- a/synapse/rest/consent/consent_resource.py
+++ b/synapse/rest/consent/consent_resource.py
@@ -23,6 +23,8 @@ from six.moves import http_client
 import jinja2
 from jinja2 import TemplateNotFound
 
+from twisted.internet import defer
+
 from synapse.api.errors import NotFoundError, StoreError, SynapseError
 from synapse.config import ConfigError
 from synapse.http.server import (
@@ -139,7 +141,7 @@ class ConsentResource(DirectServeResource):
             else:
                 qualified_user_id = UserID(username, self.hs.hostname).to_string()
 
-            u = await self.store.get_user_by_id(qualified_user_id)
+            u = await defer.maybeDeferred(self.store.get_user_by_id, qualified_user_id)
             if u is None:
                 raise NotFoundError("Unknown user")