From f0997431a51116e43d5f5b6538e3ecf4e8fea704 Mon Sep 17 00:00:00 2001 From: Jonathan Berthias Date: Thu, 29 May 2025 14:51:22 +0200 Subject: [PATCH] Make annotation for `methods` more permissive (#2903) --- starlette/routing.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/starlette/routing.py b/starlette/routing.py index 6eb57f48..db7921e1 100644 --- a/starlette/routing.py +++ b/starlette/routing.py @@ -7,7 +7,7 @@ import re import traceback import types import warnings -from collections.abc import Awaitable, Generator, Sequence +from collections.abc import Awaitable, Collection, Generator, Sequence from contextlib import AbstractAsyncContextManager, AbstractContextManager, asynccontextmanager from enum import Enum from re import Pattern @@ -213,7 +213,7 @@ class Route(BaseRoute): path: str, endpoint: Callable[..., Any], *, - methods: list[str] | None = None, + methods: Collection[str] | None = None, name: str | None = None, include_in_schema: bool = True, middleware: Sequence[Middleware] | None = None, @@ -780,7 +780,7 @@ class Router: self, path: str, endpoint: Callable[[Request], Awaitable[Response] | Response], - methods: list[str] | None = None, + methods: Collection[str] | None = None, name: str | None = None, include_in_schema: bool = True, ) -> None: # pragma: no cover @@ -805,7 +805,7 @@ class Router: def route( self, path: str, - methods: list[str] | None = None, + methods: Collection[str] | None = None, name: str | None = None, include_in_schema: bool = True, ) -> Callable: # type: ignore[type-arg] -- 2.47.2