← 返回首页
Fix mutability issues with headers input types (#7431) · psf/requests@e511bc7 · GitHub
Skip to content

Navigation Menu

Toggle navigation
Sign in
Appearance settings
Search or jump to...

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Resetting focus

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)

Footer

© 2026 GitHub, Inc.