From b4914681a5d42b9f1407c41fd2b7518b75d88ec4 Mon Sep 17 00:00:00 2001 From: Amber Brown Date: Mon, 1 Jul 2019 23:33:52 +1000 Subject: [PATCH] fix async/await consentresource (#5585) Fixes #5582 --- changelog.d/5585.misc | 1 + synapse/rest/consent/consent_resource.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelog.d/5585.misc diff --git a/changelog.d/5585.misc b/changelog.d/5585.misc new file mode 100644 index 000000000..6be06d4d0 --- /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 624c42441..1ddf9997f 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")