Skip to content

Commit b235e76

Browse files
authored
[PR #9987/7199e09 backport][3.11] Fix ANY method not appearing in the UrlDispatcher routes (#9988)
1 parent 17b005a commit b235e76

File tree

4 files changed

+11
-4
lines changed

4 files changed

+11
-4
lines changed

CHANGES/9899.bugfix.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9987.bugfix.rst

CHANGES/9987.bugfix.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fixed the ``ANY`` method not appearing in :meth:`~aiohttp.web.UrlDispatcher.routes` -- by :user:`bdraco`.

aiohttp/web_urldispatcher.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -378,9 +378,8 @@ def register_route(self, route: "ResourceRoute") -> None:
378378
), f"Instance of Route class is required, got {route!r}"
379379
if route.method == hdrs.METH_ANY:
380380
self._any_route = route
381-
else:
382-
self._allowed_methods.add(route.method)
383-
self._routes[route.method] = route
381+
self._allowed_methods.add(route.method)
382+
self._routes[route.method] = route
384383

385384
async def resolve(self, request: Request) -> _Resolve:
386385
if (match_dict := self._match(request.rel_url.path_safe)) is None:

tests/test_urldispatch.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,13 @@ async def test_any_method(router) -> None:
257257
assert info1.route is info2.route
258258

259259

260-
async def test_match_second_result_in_table(router) -> None:
260+
async def test_any_method_appears_in_routes(router: web.UrlDispatcher) -> None:
261+
handler = make_handler()
262+
route = router.add_route(hdrs.METH_ANY, "/", handler)
263+
assert route in router.routes()
264+
265+
266+
async def test_match_second_result_in_table(router: web.UrlDispatcher) -> None:
261267
handler1 = make_handler()
262268
handler2 = make_handler()
263269
router.add_route("GET", "/h1", handler1)

0 commit comments

Comments
 (0)