99import traceback
1010import warnings
1111from contextlib import suppress
12- from types import SimpleNamespace , TracebackType
12+ from types import TracebackType
1313from typing import (
1414 TYPE_CHECKING ,
1515 Any ,
155155
156156
157157class _RequestOptions (TypedDict , total = False ):
158- params : Union [Mapping [str , str ] , None ]
158+ params : Union [Mapping [str , Union [ str , int ]], str , None ]
159159 data : Any
160160 json : Any
161161 cookies : Union [LooseCookies , None ]
@@ -175,7 +175,7 @@ class _RequestOptions(TypedDict, total=False):
175175 ssl : Union [SSLContext , bool , Fingerprint ]
176176 server_hostname : Union [str , None ]
177177 proxy_headers : Union [LooseHeaders , None ]
178- trace_request_ctx : Union [SimpleNamespace , None ]
178+ trace_request_ctx : Union [Mapping [ str , str ] , None ]
179179 read_bufsize : Union [int , None ]
180180 auto_decompress : Union [bool , None ]
181181 max_line_size : Union [int , None ]
@@ -422,11 +422,22 @@ def __del__(self, _warnings: Any = warnings) -> None:
422422 context ["source_traceback" ] = self ._source_traceback
423423 self ._loop .call_exception_handler (context )
424424
425- def request (
426- self , method : str , url : StrOrURL , ** kwargs : Any
427- ) -> "_RequestContextManager" :
428- """Perform HTTP request."""
429- return _RequestContextManager (self ._request (method , url , ** kwargs ))
425+ if sys .version_info >= (3 , 11 ) and TYPE_CHECKING :
426+
427+ def request (
428+ self ,
429+ method : str ,
430+ url : StrOrURL ,
431+ ** kwargs : Unpack [_RequestOptions ],
432+ ) -> "_RequestContextManager" : ...
433+
434+ else :
435+
436+ def request (
437+ self , method : str , url : StrOrURL , ** kwargs : Any
438+ ) -> "_RequestContextManager" :
439+ """Perform HTTP request."""
440+ return _RequestContextManager (self ._request (method , url , ** kwargs ))
430441
431442 def _build_url (self , str_or_url : StrOrURL ) -> URL :
432443 url = URL (str_or_url )
@@ -466,7 +477,7 @@ async def _request(
466477 ssl : Union [SSLContext , bool , Fingerprint ] = True ,
467478 server_hostname : Optional [str ] = None ,
468479 proxy_headers : Optional [LooseHeaders ] = None ,
469- trace_request_ctx : Optional [SimpleNamespace ] = None ,
480+ trace_request_ctx : Optional [Mapping [ str , str ] ] = None ,
470481 read_bufsize : Optional [int ] = None ,
471482 auto_decompress : Optional [bool ] = None ,
472483 max_line_size : Optional [int ] = None ,
0 commit comments