diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2020-05-21 14:36:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-21 14:36:46 +0100 |
commit | 0bbbd10513008d30c17eb1d1e7ba1d091fb44ec7 (patch) | |
tree | df2f9d8e41855270310fabc7cde7e2f9e09c9fb2 /synapse/app/generic_worker.py | |
parent | Ensure worker config exists in systemd service (#7528) (diff) | |
download | synapse-0bbbd10513008d30c17eb1d1e7ba1d091fb44ec7.tar.xz |
Stub out GET presence requests in the frontend proxy (#7545)
We don't really make any promises about returning accurate presence data when presence is disabled, so we may as well just return a static response, rather than making the master handle a request.
Diffstat (limited to 'synapse/app/generic_worker.py')
-rw-r--r-- | synapse/app/generic_worker.py | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/synapse/app/generic_worker.py b/synapse/app/generic_worker.py index 506b70443b..d751c9772b 100644 --- a/synapse/app/generic_worker.py +++ b/synapse/app/generic_worker.py @@ -26,7 +26,7 @@ from twisted.web.resource import NoResource import synapse import synapse.events -from synapse.api.errors import HttpResponseException, SynapseError +from synapse.api.errors import SynapseError from synapse.api.urls import ( CLIENT_API_PREFIX, FEDERATION_PREFIX, @@ -137,31 +137,18 @@ logger = logging.getLogger("synapse.app.generic_worker") class PresenceStatusStubServlet(RestServlet): """If presence is disabled this servlet can be used to stub out setting - presence status, while proxying the getters to the master instance. + presence status. """ PATTERNS = client_patterns("/presence/(?P<user_id>[^/]*)/status") def __init__(self, hs): super(PresenceStatusStubServlet, self).__init__() - self.http_client = hs.get_simple_http_client() self.auth = hs.get_auth() - self.main_uri = hs.config.worker_main_http_uri async def on_GET(self, request, user_id): - # Pass through the auth headers, if any, in case the access token - # is there. - auth_headers = request.requestHeaders.getRawHeaders("Authorization", []) - headers = {"Authorization": auth_headers} - - try: - result = await self.http_client.get_json( - self.main_uri + request.uri.decode("ascii"), headers=headers - ) - except HttpResponseException as e: - raise e.to_synapse_error() - - return 200, result + await self.auth.get_user_by_req(request) + return 200, {"presence": "offline"} async def on_PUT(self, request, user_id): await self.auth.get_user_by_req(request) |