|
9 | 9 | import time |
10 | 10 | import urllib.parse |
11 | 11 | from collections import defaultdict |
| 12 | +from collections.abc import Iterable |
| 13 | +from collections.abc import Mapping |
| 14 | +from collections.abc import MutableMapping |
12 | 15 | from contextlib import contextmanager |
13 | 16 | from contextlib import suppress |
14 | 17 | from copy import copy |
15 | 18 | from enum import Enum |
| 19 | +from re import Pattern |
16 | 20 | from typing import TYPE_CHECKING |
17 | 21 | from typing import Any |
18 | 22 | from typing import Callable |
19 | 23 | from typing import ClassVar |
20 | | -from typing import Iterable |
21 | | -from typing import List |
22 | | -from typing import Mapping |
23 | | -from typing import MutableMapping |
24 | 24 | from typing import Optional |
25 | | -from typing import Pattern |
26 | | -from typing import Tuple |
27 | 25 | from typing import Union |
28 | 26 |
|
29 | 27 | import werkzeug.http |
|
44 | 42 |
|
45 | 43 | HEADERS_T = Union[ |
46 | 44 | Mapping[str, Union[str, Iterable[str]]], |
47 | | - Iterable[Tuple[str, str]], |
| 45 | + Iterable[tuple[str, str]], |
48 | 46 | ] |
49 | 47 |
|
50 | 48 | HVMATCHER_T = Callable[[str, Optional[str], str], bool] |
@@ -584,7 +582,7 @@ def __repr__(self) -> str: |
584 | 582 | return retval |
585 | 583 |
|
586 | 584 |
|
587 | | -class RequestHandlerList(List[RequestHandler]): |
| 585 | +class RequestHandlerList(list[RequestHandler]): |
588 | 586 | """ |
589 | 587 | Represents a list of :py:class:`RequestHandler` objects. |
590 | 588 |
|
|
0 commit comments