Fix redirecting to the webclient for non-HTTP(S) web_client_location. (#11783)

To not change the behaviour during the deprecation period.

Follow-up to #11774.
This commit is contained in:
Patrick Cloke 2022-01-20 10:34:45 -05:00 committed by GitHub
parent 121b9e2475
commit d09099642e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

1
changelog.d/11783.misc Normal file
View File

@ -0,0 +1 @@
Deprecate support for `webclient` listeners and non-HTTP(S) `web_client_location` configuration.

View File

@ -131,11 +131,18 @@ class SynapseHomeServer(HomeServer):
resources.update(self._module_web_resources)
self._module_web_resources_consumed = True
# try to find something useful to redirect '/' to
# Try to find something useful to serve at '/':
#
# 1. Redirect to the web client if it is an HTTP(S) URL.
# 2. Redirect to the web client served via Synapse.
# 3. Redirect to the static "Synapse is running" page.
# 4. Do not redirect and use a blank resource.
if self.config.server.web_client_location_is_redirect:
root_resource: Resource = RootOptionsRedirectResource(
self.config.server.web_client_location
)
elif WEB_CLIENT_PREFIX in resources:
root_resource = RootOptionsRedirectResource(WEB_CLIENT_PREFIX)
elif STATIC_PREFIX in resources:
root_resource = RootOptionsRedirectResource(STATIC_PREFIX)
else: