diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2022-12-08 11:37:05 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-08 11:37:05 -0500 |
commit | 9d8a3234ba1d3ff831a7647f45c67946773d88a7 (patch) | |
tree | 256c2459353b973ccd217bf2282433932a500a97 /synapse/util | |
parent | Check the stream position before checking if the cache is empty. (#14639) (diff) | |
download | synapse-9d8a3234ba1d3ff831a7647f45c67946773d88a7.tar.xz |
Respond with proper error responses on unknown paths. (#14621)
Returns a proper 404 with an errcode of M_RECOGNIZED for unknown endpoints per MSC3743.
Diffstat (limited to 'synapse/util')
-rw-r--r-- | synapse/util/httpresourcetree.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/synapse/util/httpresourcetree.py b/synapse/util/httpresourcetree.py index a0606851f7..39fab4fe06 100644 --- a/synapse/util/httpresourcetree.py +++ b/synapse/util/httpresourcetree.py @@ -15,7 +15,9 @@ import logging from typing import Dict -from twisted.web.resource import NoResource, Resource +from twisted.web.resource import Resource + +from synapse.http.server import UnrecognizedRequestResource logger = logging.getLogger(__name__) @@ -49,7 +51,7 @@ def create_resource_tree( for path_seg in full_path.split(b"/")[1:-1]: if path_seg not in last_resource.listNames(): # resource doesn't exist, so make a "dummy resource" - child_resource: Resource = NoResource() + child_resource: Resource = UnrecognizedRequestResource() last_resource.putChild(path_seg, child_resource) res_id = _resource_id(last_resource, path_seg) resource_mappings[res_id] = child_resource |