17
17
T = t .TypeVar ("T" )
18
18
19
19
20
- class Headers ( cabc . MutableMapping [ str , str ]) :
20
+ class Headers :
21
21
"""An object that stores some headers. It has a dict-like interface,
22
22
but is ordered, can store the same key multiple times, and iterating
23
23
yields ``(key, value)`` pairs instead of only keys.
@@ -107,7 +107,7 @@ def lowered(item: tuple[str, ...]) -> tuple[str, ...]:
107
107
108
108
__hash__ = None # type: ignore[assignment]
109
109
110
- @t .overload # type: ignore[override]
110
+ @t .overload
111
111
def get (self , key : str ) -> str | None : ...
112
112
@t .overload
113
113
def get (self , key : str , default : str ) -> str : ...
@@ -208,17 +208,17 @@ def get_all(self, name: str) -> list[str]:
208
208
"""
209
209
return self .getlist (name )
210
210
211
- def items (self , lower : bool = False ) -> t .Iterable [tuple [str , str ]]: # type: ignore[override]
211
+ def items (self , lower : bool = False ) -> t .Iterable [tuple [str , str ]]:
212
212
for key , value in self :
213
213
if lower :
214
214
key = key .lower ()
215
215
yield key , value
216
216
217
- def keys (self , lower : bool = False ) -> t .Iterable [str ]: # type: ignore[override]
217
+ def keys (self , lower : bool = False ) -> t .Iterable [str ]:
218
218
for key , _ in self .items (lower ):
219
219
yield key
220
220
221
- def values (self ) -> t .Iterable [str ]: # type: ignore[override]
221
+ def values (self ) -> t .Iterable [str ]:
222
222
for _ , value in self .items ():
223
223
yield value
224
224
@@ -322,7 +322,7 @@ def popitem(self) -> tuple[str, str]:
322
322
"""Removes a key or index and returns a (key, value) item."""
323
323
return self ._list .pop ()
324
324
325
- def __contains__ (self , key : str ) -> bool : # type: ignore[override]
325
+ def __contains__ (self , key : str ) -> bool :
326
326
"""Check if a key is present."""
327
327
try :
328
328
self ._get_key (key )
@@ -331,7 +331,7 @@ def __contains__(self, key: str) -> bool: # type: ignore[override]
331
331
332
332
return True
333
333
334
- def __iter__ (self ) -> t .Iterator [tuple [str , str ]]: # type: ignore[override]
334
+ def __iter__ (self ) -> t .Iterator [tuple [str , str ]]:
335
335
"""Yield ``(key, value)`` tuples."""
336
336
return iter (self ._list )
337
337
@@ -486,7 +486,7 @@ def __setitem__(
486
486
else :
487
487
self ._list [key ] = [(k , _str_header_value (v )) for k , v in value ] # type: ignore[misc]
488
488
489
- def update ( # type: ignore[override]
489
+ def update (
490
490
self ,
491
491
arg : (
492
492
Headers
@@ -562,7 +562,7 @@ def to_wsgi_list(self) -> list[tuple[str, str]]:
562
562
563
563
:return: list
564
564
"""
565
- return list (self ) # type: ignore[arg-type]
565
+ return list (self )
566
566
567
567
def copy (self ) -> te .Self :
568
568
return self .__class__ (self ._list )
@@ -640,7 +640,7 @@ def _get_key(self, key: str) -> str:
640
640
def __len__ (self ) -> int :
641
641
return sum (1 for _ in self )
642
642
643
- def __iter__ (self ) -> cabc .Iterator [tuple [str , str ]]: # type: ignore[override]
643
+ def __iter__ (self ) -> cabc .Iterator [tuple [str , str ]]:
644
644
for key , value in self .environ .items ():
645
645
if key .startswith ("HTTP_" ) and key not in {
646
646
"HTTP_CONTENT_TYPE" ,
0 commit comments