summary refs log tree commit diff
diff options
context:
space:
mode:
authorPatrick Cloke <clokep@users.noreply.github.com>2022-02-08 07:06:25 -0500
committerGitHub <noreply@github.com>2022-02-08 07:06:25 -0500
commit380c3d40f4e48c9cb871b7fe3488c42e1cad3883 (patch)
tree38f46d931a5ff3e935439f41d99dd167279abd30
parentAdd a docstring to `add_device_change_to_streams` and fix some nearby types (... (diff)
downloadsynapse-380c3d40f4e48c9cb871b7fe3488c42e1cad3883.tar.xz
Return JSON errors for unknown resources under /matrix/client. (#11930)
Re-applies the changes from 3e0cfd447e17658a937fe62555db9e968f00b15b (#11602),
reverting d93ec0a0ba5f6d2fbf2bc321086d4ad4c03136e0 (#11764) now that the conflict
with the webclient listener was fixed in 119edf51eb3e4f5ed5139dc370f5d7aed46edc1c (#11895).
-rw-r--r--changelog.d/11930.bugfix1
-rw-r--r--synapse/app/homeserver.py9
2 files changed, 3 insertions, 7 deletions
diff --git a/changelog.d/11930.bugfix b/changelog.d/11930.bugfix
new file mode 100644
index 0000000000..e0dfbf1a15
--- /dev/null
+++ b/changelog.d/11930.bugfix
@@ -0,0 +1 @@
+Fix a long-standing bug that some unknown endpoints would return HTML error pages instead of JSON `M_UNRECOGNIZED` errors.
diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py
index 24d55b0494..66e1a21331 100644
--- a/synapse/app/homeserver.py
+++ b/synapse/app/homeserver.py
@@ -26,6 +26,7 @@ import synapse
 import synapse.config.logger
 from synapse import events
 from synapse.api.urls import (
+    CLIENT_API_PREFIX,
     FEDERATION_PREFIX,
     LEGACY_MEDIA_PREFIX,
     MEDIA_R0_PREFIX,
@@ -195,13 +196,7 @@ class SynapseHomeServer(HomeServer):
 
             resources.update(
                 {
-                    "/_matrix/client/api/v1": client_resource,
-                    "/_matrix/client/r0": client_resource,
-                    "/_matrix/client/v1": client_resource,
-                    "/_matrix/client/v3": client_resource,
-                    "/_matrix/client/unstable": client_resource,
-                    "/_matrix/client/v2_alpha": client_resource,
-                    "/_matrix/client/versions": client_resource,
+                    CLIENT_API_PREFIX: client_resource,
                     "/.well-known": well_known_resource(self),
                     "/_synapse/admin": AdminRestResource(self),
                     **build_synapse_client_resource_tree(self),