mirror of
https://mau.dev/maunium/synapse.git
synced 2024-10-01 01:36:05 -04:00
Tiny optimisation for _get_handler_for_request (#6950)
we have hundreds of path_regexes (see #5118), so let's not convert the same bytes to str for each of them.
This commit is contained in:
parent
0d0bc35792
commit
abf1e5c526
1
changelog.d/6950.misc
Normal file
1
changelog.d/6950.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Tiny optimisation for incoming HTTP request dispatch.
|
@ -353,10 +353,12 @@ class JsonResource(HttpServer, resource.Resource):
|
|||||||
if request.method == b"OPTIONS":
|
if request.method == b"OPTIONS":
|
||||||
return _options_handler, "options_request_handler", {}
|
return _options_handler, "options_request_handler", {}
|
||||||
|
|
||||||
|
request_path = request.path.decode("ascii")
|
||||||
|
|
||||||
# Loop through all the registered callbacks to check if the method
|
# Loop through all the registered callbacks to check if the method
|
||||||
# and path regex match
|
# and path regex match
|
||||||
for path_entry in self.path_regexs.get(request.method, []):
|
for path_entry in self.path_regexs.get(request.method, []):
|
||||||
m = path_entry.pattern.match(request.path.decode("ascii"))
|
m = path_entry.pattern.match(request_path)
|
||||||
if m:
|
if m:
|
||||||
# We found a match!
|
# We found a match!
|
||||||
return path_entry.callback, path_entry.servlet_classname, m.groupdict()
|
return path_entry.callback, path_entry.servlet_classname, m.groupdict()
|
||||||
|
Loading…
Reference in New Issue
Block a user