Skip to content

Commit e511bc7

Browse files
authored
Fix mutability issues with headers input types (#7431)
1 parent 5691f59 commit e511bc7

3 files changed

Lines changed: 6 additions & 6 deletions

File tree

src/requests/_types.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,7 @@ class _ValidatedRequest(PreparedRequest):
109109
bytes | str | Iterable[bytes | str] | SupportsRead[bytes | str] | None
110110
)
111111

112-
HeadersType: TypeAlias = CaseInsensitiveDict[str] | Mapping[str, str | bytes]
113-
HeadersUpdateType: TypeAlias = Mapping[str, str | bytes | None]
112+
HeadersType: TypeAlias = MutableMapping[str, str | bytes] | None
114113

115114
CookiesType: TypeAlias = RequestsCookieJar | Mapping[str, str]
116115

@@ -151,7 +150,7 @@ class _ValidatedRequest(PreparedRequest):
151150
# TypedDicts for Unpack kwargs (PEP 692)
152151

153152
class BaseRequestKwargs(TypedDict, total=False):
154-
headers: Mapping[str, str | bytes] | None
153+
headers: HeadersType
155154
cookies: RequestsCookieJar | CookieJar | dict[str, str] | None
156155
files: FilesType
157156
auth: AuthType

src/requests/models.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@
8383
)
8484

8585
if TYPE_CHECKING:
86+
from collections.abc import MutableMapping
8687
from http.cookiejar import CookieJar
8788

8889
from typing_extensions import Self
@@ -310,7 +311,7 @@ class Request(RequestHooksMixin):
310311

311312
method: str | None
312313
url: _t.UriType | None
313-
headers: CaseInsensitiveDict[str] | Mapping[str, str | bytes] | None
314+
headers: MutableMapping[str, str | bytes]
314315
files: _t.FilesType
315316
data: _t.DataType
316317
json: _t.JsonType
@@ -322,7 +323,7 @@ def __init__(
322323
self,
323324
method: str | None = None,
324325
url: _t.UriType | None = None,
325-
headers: Mapping[str, str | bytes] | None = None,
326+
headers: _t.HeadersType = None,
326327
files: _t.FilesType = None,
327328
data: _t.DataType = None,
328329
params: _t.ParamsType = None,

src/requests/sessions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ def request(
560560
url: _t.UriType,
561561
params: _t.ParamsType = None,
562562
data: _t.DataType = None,
563-
headers: Mapping[str, str | bytes] | None = None,
563+
headers: _t.HeadersType = None,
564564
cookies: RequestsCookieJar | CookieJar | dict[str, str] | None = None,
565565
files: _t.FilesType = None,
566566
auth: _t.AuthType = None,

0 commit comments

Comments
 (0)