Return JSON errors for unknown resources under /matrix/client. (#11602)

Instead of returning 404 errors with HTML bodies when an unknown
prefix was requested (e.g. /matrix/client/v1 before Synapse v1.49.0).
This commit is contained in:
Patrick Cloke 2021-12-20 11:00:13 -05:00 committed by GitHub
parent 7a7ca8f226
commit 3e0cfd447e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 10 deletions

View file

@ -530,7 +530,7 @@ class RootRedirect(resource.Resource):
"""Redirects the root '/' path to another path."""
def __init__(self, path: str):
resource.Resource.__init__(self)
super().__init__()
self.url = path
def render_GET(self, request: Request) -> bytes:
@ -539,7 +539,7 @@ class RootRedirect(resource.Resource):
def getChild(self, name: str, request: Request) -> resource.Resource:
if len(name) == 0:
return self # select ourselves as the child to render
return resource.Resource.getChild(self, name, request)
return super().getChild(name, request)
class OptionsResource(resource.Resource):
@ -556,7 +556,7 @@ class OptionsResource(resource.Resource):
def getChildWithDefault(self, path: str, request: Request) -> resource.Resource:
if request.method == b"OPTIONS":
return self # select ourselves as the child to render
return resource.Resource.getChildWithDefault(self, path, request)
return super().getChildWithDefault(path, request)
class RootOptionsRedirectResource(OptionsResource, RootRedirect):