+
     h  c                  s   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
 ^ RIHt ^RIHt ^RIHtHtHt ^RIHtHtHtHtHtHt ^RIHt ^R	IHtHtHtHt ^R
I H!t!H"t"H#t#H$t$ ^RI%H&t& ^RI'H(t(H)t) ^RI*H+t+H,t, ^RI-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t: ^RI;H<t<H=t= ^RI>H?t?H@t@ ]P                  '       d   ^ RIBtB. R-OtC]P                  ! RRR7      tE]P                  ! RRR7      tFR R ltGR R ltHR R ltI ! R R4      tJ]J! 4       tK]P                  ! R4      tMR] 2tNR P                  ]P                  ! 4        U u. uF  q R!8w  g   K  V NK  	  up 4      tQ ! R" R#]P                  4      tS ! R$ R%]94      tT ! R& R'].4      tU]P                  R(]P                  3,          tX ! R) R*4      tY ! R+ R]Y4      tZ ! R, R]Y4      t[R# u up i ).i    )annotationsN)asynccontextmanagercontextmanager)TracebackType)__version__)Auth	BasicAuthFunctionAuth)DEFAULT_LIMITSDEFAULT_MAX_REDIRECTSDEFAULT_TIMEOUT_CONFIGLimitsProxyTimeout)SUPPORTED_DECODERS)
InvalidURLRemoteProtocolErrorTooManyRedirectsrequest_context)CookiesHeadersRequestResponse)codes)AsyncBaseTransportBaseTransport)AsyncHTTPTransportHTTPTransport)AsyncByteStream	AuthTypes	CertTypesCookieTypesHeaderTypes
ProxyTypesQueryParamTypesRequestContentRequestDataRequestExtensionsRequestFilesSyncByteStreamTimeoutTypes)URLQueryParams)
URLPatternget_environment_proxiesAsyncClientClientT)ZboundUc               $    V ^8  d   QhRRRRRR/# )   urlr)   locationreturnbool Zformat   "2/usr/lib/python3.14/site-packages/httpx/_client.py__annotate__r;   >   s!      C 3 4     c                s    V P                   VP                   8w  d   R# V P                  R8H  ;'       d<    \        V 4      ^P8H  ;'       d&    VP                  R8H  ;'       d    \        V4      R8H  # )z9
Return 'True' if 'location' is a HTTPS upgrade of 'url'
Fhttphttps  )hostscheme_port_or_default)r3   r4      &&r:   _is_https_redirectrD   >   sp     xx8==  	

f 	. 	.S!R'	. 	.OOw&	. 	. X&#-	r<   c                    V ^8  d   QhRRRR/# )r2   r3   r)   r5   z
int | Noner7   r8   r9   r:   r;   r;   M   s     6 6# 6* 6r<   c                st    V P                   e   V P                   # R^PRR/P                  V P                  4      # )Nr=   r>   r?   )ZportgetrA   r3      &r:   rB   rB   M   s3    
xxxxB%))#**55r<   c               r1   )r2   r3   r)   otherr5   r6   r7   r8   r9   r:   r;   r;   S   s!      c # $ r<   c                s    V P                   VP                   8H  ;'       d9    V P                  VP                  8H  ;'       d    \        V 4      \        V4      8H  # )z8
Return 'True' if the given URLs share the same origin.
)rA   r@   rB   )r3   rI   rC   r:   _same_originrJ   S   sP    
 	

ell" 	= 	=HH

"	= 	=S!%5e%<<r<   c                  s    ] tR t^^tRtRtR# )UseClientDefaulta  
For some parameters such as `auth=...` and `timeout=...` we need to be able
to indicate the default "unset" state, in a way that is distinctly different
to using `None`.

The default "unset" state indicates that whatever default is set on the
client should be used. This is different to setting `None`, which
explicitly disables the parameter, possibly overriding a client default.

For example we use `timeout=USE_CLIENT_DEFAULT` in the `request()` signature.
Omitting the `timeout` parameter will send a request using whatever default
timeout has been configured on the client. Including `timeout=None` will
ensure no timeout is used.

Note that user code shouldn't need to use the `USE_CLIENT_DEFAULT` constant,
but it is used internally when a parameter is not included.
r7   N)__name__
__module____qualname____firstlineno____doc____static_attributes__r7   r<   r:   rK   rK   ^   s    r<   rK   Zhttpxzpython-httpx/z, Zidentityc                  s"    ] tR t^}t^t^t^tRtR# )ClientStater7   N)rL   rM   rN   rO   UNOPENEDOPENEDCLOSEDrQ   r7   r<   r:   rR   rR   }   s     H F Fr<   rR   c                  s>    ] tR t^tRtR R ltR R ltR R ltRtR	# )
BoundSyncStreamz
A byte stream that is bound to a given response instance, and that
ensures the `response.elapsed` is set once the response is closed.
c               (    V ^8  d   QhRRRRRRRR/# )	r2   streamr'   responser   startfloatr5   Noner7   r8   r9   r:   r;   BoundSyncStream.__annotate__   s,      $08AF	r<   c                	*    Wn         W n        W0n        R # N_stream	_response_startselfrX   rY   rZ      &&&&r:   __init__ZBoundSyncStream.__init__        !r<   c                   V ^8  d   QhRR/# )r2   r5   ztyping.Iterator[bytes]r7   r8   r9   r:   r;   r]      s      0 r<   c              #  	s<   "   V P                    F  pVx  K	  	  R # 5ir_   ra   re   Zchunk   & r:   __iter__ZBoundSyncStream.__iter__   s     \\EK "s   c               ri   r2   r5   r\   r7   r8   r9   r:   r;   r]      s      t r<   c                	s    \         P                  ! 4       V P                  ,
          p\        P                  ! VR 7      V P
                  n        V P                  P                  4        R# )ZsecondsN)	timeperf_counterrc   datetime	timedeltarb   elapsedra   closere   rt   rl   r:   ru   ZBoundSyncStream.close   s@    ##%3!)!3!3G!Dr<   rb   rc   ra   N)	rL   rM   rN   rO   rP   rg   rm   ru   rQ   r7   r<   r:   rV   rV      s    
 r<   rV   c                  s>    ] tR t^tRtR R ltR R ltR R ltRtR	# )
BoundAsyncStreamz
An async byte stream that is bound to a given response instance, and that
ensures the `response.elapsed` is set once the response is closed.
c               rW   )	r2   rX   r   rY   r   rZ   r[   r5   r\   r7   r8   r9   r:   r;   BoundAsyncStream.__annotate__   s,      %19BG	r<   c                	r^   r_   r`   rd   rf   r:   rg   ZBoundAsyncStream.__init__   rh   r<   c               ri   )r2   r5   ztyping.AsyncIterator[bytes]r7   r8   r9   r:   r;   ry      s      !< r<   c               	sN   "   V P                     R j  xL
  pV5x  K   LDR # 5ir_   rj   rk   rl   r:   	__aiter__ZBoundAsyncStream.__aiter__   s$     << 	 	%K	<s   %" "	%"%c               ri   rn   r7   r8   r9   r:   r;   ry      s     $ $d $r<   c                	s   "   \         P                  ! 4       V P                  ,
          p\        P                  ! VR 7      V P
                  n        V P                  P                  4       G Rj  xL
  R#  L5iro   )	rp   rq   rc   rr   rs   rb   rt   ra   acloserv   rl   r:   r{   ZBoundAsyncStream.aclose   sI     ##%3!)!3!3G!Dll!!###s   A*A5,A3-A5rw   N)	rL   rM   rN   rO   rP   rg   rz   r{   rQ   r7   r<   r:   rx   rx      s    
$ $r<   rx   .c                  s,   ] tR t^tRRRRRRRRR]RRR	]R
RRRRRRR/R R llt]R R l4       t]R R l4       t	R R lt
R R lt]R R l4       t]P                  R R l4       t]R R  l4       t]P                  R! R" l4       t]R# R$ l4       t]P                  R% R& l4       t]R' R( l4       t]P                  R) R* l4       t]R+ R, l4       t]P                  R- R. l4       t]R/ R0 l4       t]P                  R1 R2 l4       t]R3 R4 l4       t]P                  R5 R6 l4       tR7RR8RR9RR:RRRRRRRR]R;R/	R< R= lltR> R? ltRWR@ RA lltRWRB RC lltRWRD RE lltRF RG lt]3RH RI lltRJ RK ltRL RM ltRN RO ltRP RQ ltRR RS lt RT RU lt!RVt"R# )X
BaseClientauthNparamsheaderscookiestimeoutfollow_redirectsFmax_redirectsevent_hooksbase_url 	trust_envTdefault_encodingutf-8c               sH    V ^8  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRR/# )r2   r}   AuthTypes | Noner~   QueryParamTypes | Noner   HeaderTypes | Noner   CookieTypes | Noner   r(   r   r6   r   intr   +None | typing.Mapping[str, list[EventHook]]r   	URL | strr   r   #str | typing.Callable[[bytes], str]r5   r\   r7   r8   r9   r:   r;   BaseClient.__annotate__   s      +  +  + '	 +
 $ + $ +  +  +  + C +  +  + > + 
 +r<   c          	     	s   Vf   / MTpV P                  \        V	4      4      V n        V P                  V4      V n        \        V4      V n        \        V4      V n        \        V4      V n
        \        V4      V n        W`n        Wpn        R\        VP!                  R. 4      4      R\        VP!                  R. 4      4      /V n        Wn        Wn        \(        P*                  V n        R # )NrequestrY   )_enforce_trailing_slashr)   	_base_url_build_auth_authr*   _paramsr   r   r   _cookiesr   _timeoutr   r   listrF   _event_hooks
_trust_env_default_encodingrR   rS   _state)re   r}   r~   r   r   r   r   r   r   r   r   r   s   &$$$$$$$$$$$r:   rg   ZBaseClient.__init__   s     (/b[55c(mD%%d+
"6*w'(( 0*tKOOIr:;[__Z<=
 $!1!**r<   c               ri   r2   r5   r6   r7   r8   r9   r:   r;   r      s     1 14 1r<   c                s<    V P                   \        P                  8H  # )z"
Check if the client being closed
)r   rR   rU   re   rH   r:   	is_closedZBaseClient.is_closed   s    
 {{k0000r<   c               ri   r   r7   r8   r9   r:   r;   r      s      4 r<   c                	    V P                   # r_   )r   r   rH   r:   r   ZBaseClient.trust_env   s    r<   c                    V ^8  d   QhRRRR/# )r2   r3   r)   r5   r7   r8   r9   r:   r;   r      s     ; ;3 ;3 ;r<   c                	s    VP                   P                  R 4      '       d   V# VP                  VP                   R ,           R7      # )   /raw_path)r   Zendswith	copy_withre   r3   rC   r:   r   Z"BaseClient._enforce_trailing_slash   s6    <<  &&J}}cllT&9}::r<   c               $    V ^8  d   QhRRRRRR/# )r2   proxyProxyTypes | Noneallow_env_proxiesr6   r5   zdict[str, Proxy | None]r7   r8   r9   r:   r;   r      s$     % %&%;?%	 %r<   c           	     	s    VfG   V'       d=   \        4       P                  4        UUu/ uF  w  r4Y4f   R M\        VR7      bK  	  upp# / # \        V\        \
        34      '       d   \        VR7      MTpRV/# u uppi )NrG   zall://)r,   itemsr   
isinstancestrr)   )re   r   r   keyr3      &&&  r:   _get_proxy_mapZBaseClient._get_proxy_map   s|     =  %<$=$C$C$E$E %C.@$E  I(253*(E(EEe$5Ee$$s   A9c               ri   )r2   r5   r   r7   r8   r9   r:   r;   r      s       r<   c                	r   r_   )r   r   rH   r:   r   BaseClient.timeout   s    }}r<   c               rE   )r2   r   r(   r5   r\   r7   r8   r9   r:   r;   r     s     ) )| ) )r<   c                	&    \        V4      V n        R # r_   )r   r   )re   r   rC   r:   r   r         (r<   c               ri   )r2   r5   dict[str, list[EventHook]]r7   r8   r9   r:   r;   r     s     ! !7 !r<   c                	r   r_   )r   r   rH   r:   r   BaseClient.event_hooks  s       r<   c               rE   )r2   r   r   r5   r\   r7   r8   r9   r:   r;   r   
  s     
 
'A 
d 
r<   c           	     	s    R \        VP                  R . 4      4      R\        VP                  R. 4      4      /V n        R# )r   rY   N)r   rF   r   )re   r   rC   r:   r   r   	  s8     tKOOIr:;[__Z<=
r<   c               ri   )r2   r5   Auth | Noner7   r8   r9   r:   r;   r     s      k r<   c                r   )z
Authentication class used when none is passed at the request-level.

See also [Authentication][0].

[0]: /quickstart/#authentication
)r   r   rH   r:   r}   BaseClient.auth  s     zzr<   c               rE   )r2   r}   r   r5   r\   r7   r8   r9   r:   r;   r     s     , , ,t ,r<   c                	s2    V P                  V4      V n        R # r_   )r   r   re   r}   rC   r:   r}   r     s    %%d+
r<   c               ri   )r2   r5   r)   r7   r8   r9   r:   r;   r      s      # r<   c                r   )z;
Base URL to use when sending requests with relative URLs.
)r   r   rH   r:   r   BaseClient.base_url  s    
 ~~r<   c               rE   )r2   r3   r   r5   r\   r7   r8   r9   r:   r;   r   '  s     @ @I @$ @r<   c                	sD    V P                  \        V4      4      V n        R # r_   )r   r)   r   r   rC   r:   r   r   &  s    55c#h?r<   c               ri   )r2   r5   r   r7   r8   r9   r:   r;   r   +         r<   c                r   )z0
HTTP headers to include when sending requests.
)_headersr   rH   r:   r   BaseClient.headers*      
 }}r<   c               rE   )r2   r   r    r5   r\   r7   r8   r9   r:   r;   r   2  s     
' 
'{ 
't 
'r<   c                	s    \        R RR\        P                  R4      RRR\        P                  R4      /4      pVP	                  V4       W n        R# )s   Accepts   */*s   Accept-Encodingasciis
   Connections
   keep-alives
   User-AgentN)r   ACCEPT_ENCODINGZencode
USER_AGENTupdater   )re   r   Zclient_headers   && r:   r   r   1  sP     6"O$:$:7$C}z009	
 	g&&r<   c               ri   )r2   r5   r   r7   r8   r9   r:   r;   r   ?  r   r<   c                r   )z1
Cookie values to include when sending requests.
)r   r   rH   r:   r   BaseClient.cookies>  r   r<   c               rE   )r2   r   r   r5   r\   r7   r8   r9   r:   r;   r   F  s     ) ){ )t )r<   c                	r   r_   )r   r   )re   r   rC   r:   r   r   E  r   r<   c               ri   )r2   r5   r*   r7   r8   r9   r:   r;   r   J  s       r<   c                r   )z?
Query parameters to include in the URL when sending requests.
)r   r   rH   r:   r~   BaseClient.paramsI  s    
 ||r<   c               rE   )r2   r~   r"   r5   r\   r7   r8   r9   r:   r;   r   Q  s     + +_ + +r<   c                	r   r_   )r*   r   )re   r~   rC   r:   r~   r   P  s    "6*r<   contentdatafilesjson
extensionsc               sH    V ^8  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRR/# )r2   methodr   r3   r   r   RequestContent | Noner   RequestData | Noner   RequestFiles | Noner   typing.Any | Noner~   r   r   r   r   r   r   TimeoutTypes | UseClientDefaultr   RequestExtensions | Noner5   r   r7   r8   r9   r:   r;   r   T  s     1
 1
1
 1

 '1
 !1
 #1
  1
 '1
 $1
 $1
 11
 -1
 
1
r<   c       	        sf   V P                  V4      pV P                  V4      pV P                  V	4      p	V P                  V4      pVf   / MTpRV9  dK   \	        V
\
        4      '       d   V P                  M
\        V
4      p
\        R/ VBRV
P                  4       /B p\        VVVVVVVVV	VR7
      # )a  
Build and return a request instance.

* The `params`, `headers` and `cookies` arguments
are merged with any values set on the client.
* The `url` argument is merged with any `base_url` set on the client.

See also: [Request instances][0]

[0]: /advanced/clients/#request-instances
r   )r   r   r   r   r~   r   r   r   r7   )
_merge_url_merge_headers_merge_cookies_merge_queryparamsr   rK   r   r   dictas_dictr   )re   r   r3   r   r   r   r   r~   r   r   r   r   s   &&&$$$$$$$$$r:   build_requestZBaseClient.build_requestT  s    4 ooc"%%g.%%g.((0%-R:
J& g'788 W% 
 F
FGOO4EFJ!
 	
r<   c               rE   )r2   r3   r   r5   r)   r7   r8   r9   r:   r;   r     s      i C r<   c                s    \        V4      pVP                  '       dS   V P                  P                  VP                  P	                  R4      ,           pV P                  P                  VR7      # V# )zs
Merge a URL argument together with any 'base_url' on the client,
to create the URL used for the outgoing request.
r   r   )r)   is_relative_urlr   r   Zlstripr   )re   r3   Z	merge_urlZmerge_raw_path   &&  r:   r   ZBaseClient._merge_url  s_    
 H	$$$ "]]33i6H6H6O6OPT6UUN==**N*CCr<   c               r   )r2   r   r   r5   r7   r8   r9   r:   r;   r     s     	 	&8 	DV 	r<   c                s    V'       g   V P                   '       d)   \        V P                   4      pVP                  V4       V# V# )zx
Merge a cookies argument together with any cookies on the client,
to create the cookies used for the outgoing request.
)r   r   r   )re   r   Zmerged_cookiesr   r:   r   ZBaseClient._merge_cookies  s6    
 dlll$T\\2N!!'*!!r<   c               r   )r2   r   r   r5   r7   r8   r9   r:   r;   r     s      &8 DV r<   c                sR    \        V P                  4      pVP                  V4       V# )zx
Merge a headers argument together with any headers on the client,
to create the headers used for the outgoing request.
)r   r   r   )re   r   Zmerged_headersr   r:   r   ZBaseClient._merge_headers  s&    
 !.g&r<   c               r   )r2   r~   r   r5   r7   r8   r9   r:   r;   r     s     
 
,
	
r<   c                s    V'       g   V P                   '       d'   \        V P                   4      pVP                  V4      # V# )z
Merge a queryparams argument together with any queryparams on the client,
to create the queryparams used for the outgoing request.
)r~   r*   Zmerge)re   r~   Zmerged_queryparamsr   r:   r   ZBaseClient._merge_queryparams  s4     T[[[!,T[[!9%++F33r<   c               rE   )r2   r}   r   r5   r   r7   r8   r9   r:   r;   r     s     
B 
B 0 
B[ 
Br<   c                	s    Vf   R # \        V\        4      '       d   \        V^ ,          V^,          R7      # \        V\        4      '       d   V# \	        V4      '       d   \        VR7      # \        RV: 24      h)Nusernamepassword)ZfunczInvalid "auth" argument: )r   Ztupler   r   Zcallabler   Z	TypeErrorr   rC   r:   r   ZBaseClient._build_auth  se    <e$$d1gQ@@d##Kd^^T**7x@AAr<   c               r   )r2   r   r   r}   #AuthTypes | UseClientDefault | Noner5   r   r7   r8   r9   r:   r;   r     s(       2 
	r<   c                	s   \        V\        4      '       d   V P                  MV P                  V4      pVe   V# VP                  P
                  VP                  P                  rCV'       g	   V'       d   \        W4R7      # \        4       # )Nr   )	r   rK   r   r   r3   r   r   r   r   )re   r   r}   r   r   r   r:   _build_request_authZBaseClient._build_request_auth  sj     %T+;<<DJJ$BRBRSWBX 	 K$[[117;;3G3G(xhBBvr<   c               s$    V ^8  d   QhRRRRRR/# )r2   r   r   rY   r   r5   r7   r8   r9   r:   r;   r     s!     
 
w 
( 
w 
r<   c           	     s    V P                  W4      pV P                  W4      pV P                  WV4      pV P                  W4      p\	        V P
                  4      p\        VVVVVVP                  R7      # )zk
Given a request and a redirect response, return a new request that
should be used to effect the redirect.
)r   r3   r   r   rX   r   )_redirect_method_redirect_url_redirect_headers_redirect_streamr   r   r   r   )re   r   rY   r   r3   r   rX   r   s   &&&     r:   _build_redirect_requestZ"BaseClient._build_redirect_request  sy    
 &&w9  3((v>&&w7$,,'))
 	
r<   c               r   )r2   r   r   rY   r   r5   r   r7   r8   r9   r:   r;   r     s!       8  r<   c                s   VP                   pVP                  \        P                  8X  d
   VR8w  d   RpVP                  \        P                  8X  d
   VR8w  d   RpVP                  \        P
                  8X  d
   VR8X  d   RpV# )zs
When being redirected we may want to change the method of the request
based on certain specs or browser behavior.
HEADGETPOST)r   status_coder   Z	SEE_OTHERZFOUNDZMOVED_PERMANENTLY)re   r   rY   r   s   &&& r:   r   ZBaseClient._redirect_method  st    
  5??2v7GF 5;;.6V3CF 5#:#::v?OFr<   c               r   )r2   r   r   rY   r   r5   r)   r7   r8   r9   r:   r;   r     s!      W  S r<   c                s$   VP                   R,          p \        V4      pTP                  '       d9   TP
                  '       g'   TP                  TP                  P
                  R7      pTP                  '       d   TP                  P                  T4      pTP                  P                  '       d9   TP                  '       g'   TP                  TP                  P                  R7      pT#   \         d   p\        RT R2TR7      RhRp?ii ; i)z,
Return the URL for the redirect to follow.
ZLocationz Invalid URL in location header: Z.r   N)r@   )fragment)r   r)   r   r   rA   r@   r   r3   r   joinr   )re   r   rY   r4   r3   excs   &&&   r:   r   ZBaseClient._redirect_url  s     ##J/	h-C :::chhh--W[[%5%5-6C ++""3'C ;;--)=)=->C
'  	%23%q97	s   C- -D8D

Dc               rW   )	r2   r   r   r3   r)   r   r   r5   r   r7   r8   r9   r:   r;   r   "  s(       s C G r<   c                s   \        VP                  4      p\        W!P                  4      '       gM   \	        VP                  V4      '       g   VP                  RR4       VP                  P                  R4      VR&   W1P                  8w  d,   VR8X  d%   VP                  RR4       VP                  RR4       VP                  RR4       V# )	zB
Return the headers that should be used for the redirect request.
ZAuthorizationNr   ZHostr   zContent-LengthzTransfer-EncodingZCookie)	r   r   rJ   r3   rD   ZpopZnetlocZdecoder   )re   r   r3   r   r      &&&& r:   r   ZBaseClient._redirect_headers"  s     '//*C--%gkk377 OT2 "jj//8GFO^^#% KK($/KK+T2 	Hd#r<   c               r   )r2   r   r   r   r   r5   z'SyncByteStream | AsyncByteStream | Noner7   r8   r9   r:   r;   r   =  s$     	 		(+		0	r<   c                sL    W!P                   8w  d
   VR8X  d   R# VP                  # )z?
Return the body that should be used for the redirect request.
r   N)r   rX   )re   r   r   s   &&&r:   r   ZBaseClient._redirect_stream=  s!     ^^#%~~r<   c               rE   )r2   r   r   r5   r\   r7   r8   r9   r:   r;   r   H  s     W WG W Wr<   c                	s   R VP                   9  dp   \        V P                  \        4      '       d   V P                  M\	        V P                  4      p\        R/ VP                   BR VP                  4       /B Vn         R# R# )r   Nr7   )r   r   r   rK   r   r   r   )re   r   r   r   r:   _set_timeoutZBaseClient._set_timeoutH  sg    G... dll,<== T\\* 
 "&!V(:(:!VGOODU!VG /r<   )r   r   r   r   r   r   r   r   r   r   r   r   r   r_   )#rL   rM   rN   rO   r
   r	   rg   Zpropertyr   r   r   r   r   Zsetterr   r}   r   r   r   r~   USE_CLIENT_DEFAULTr   r   r   r   r   r   r   r   r   r   r   r   r   rQ   r7   r<   r:   r|   r|      s    + "& + *.	 +
 '+ + '+ + !7 + "' + 3 + FJ + ! +  + AH +D 1 1  ;
%   ^^) ) ! ! 
 
   
[[, ,   __@ @   ^^
' 
'   ^^) )   ]]+ +1

 *.1
 $(1
 &*1
 #'1
 *.1
 '+1
 '+1
 4F1
 041
f,	

B 5G$
&.:6	W Wr<   r|   c            &      s  a  ] tR tRtRtRRRRRRRRRR	R
RRR	RR	RRRRRRR]RRR]R]RRRRRRRR/R V 3R llltR	RR	R	R]R3R R llt	R	RR	R	R]3R R  llt
R! R" ltR#RR$RR%RR&RRRRRRRR]R]R]R'R/R( R) llt]R#RR$RR%RR&RRRRRRRR]R]R]R'R/R* R+ ll4       tR,RR]R]/R- R. lltR/ R0 ltR1 R2 ltR3 R4 ltRRRRRRR]R]R]R'R/R5 R6 lltRRRRRRR]R]R]R'R/R7 R8 lltRRRRRRR]R]R]R'R/R9 R: lltR#RR$RR%RR&RRRRRRRR]R]R]R'R/R; R< lltR#RR$RR%RR&RRRRRRRR]R]R]R'R/R= R> lltR#RR$RR%RR&RRRRRRRR]R]R]R'R/R? R@ lltRRRRRRR]R]R]R'R/RA RB lltRC RD ltRE RF ltRJRG RH lltRItV ;t# )Kr.   iR  a  
An HTTP client, with connection pooling, HTTP/2, redirects, cookie persistence, etc.

It can be shared between threads.

Usage:

```python
>>> client = httpx.Client()
>>> response = client.get('https://example.org')
```

**Parameters:**

* **auth** - *(optional)* An authentication class to use when sending
requests.
* **params** - *(optional)* Query parameters to include in request URLs, as
a string, dictionary, or sequence of two-tuples.
* **headers** - *(optional)* Dictionary of HTTP headers to include when
sending requests.
* **cookies** - *(optional)* Dictionary of Cookie items to include when
sending requests.
* **verify** - *(optional)* Either `True` to use an SSL context with the
default CA bundle, `False` to disable verification, or an instance of
`ssl.SSLContext` to use a custom context.
* **http2** - *(optional)* A boolean indicating if HTTP/2 support should be
enabled. Defaults to `False`.
* **proxy** - *(optional)* A proxy URL where all the traffic should be routed.
* **timeout** - *(optional)* The timeout configuration to use when sending
requests.
* **limits** - *(optional)* The limits configuration to use.
* **max_redirects** - *(optional)* The maximum number of redirect responses
that should be followed.
* **base_url** - *(optional)* A URL to use as the base when building
request URLs.
* **transport** - *(optional)* A transport class to use for sending requests
over the network.
* **trust_env** - *(optional)* Enables or disables usage of environment
variables for configuration.
* **default_encoding** - *(optional)* The default encoding to use for decoding
response text, if no charset information is included in a response Content-Type
header. Set to a callable for automatic character set detection. Default: "utf-8".
r}   Nr~   r   r   verifyTcertr   http1http2Fr   mountsr   r   limitsr   r   r   r   	transportr   r   c          (     sh    V ^8  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRRRRRRRRRRRRR R!R"R#R$R%/# )&r2   r}   r   r~   r   r   r   r   r   r   ssl.SSLContext | str | boolr   CertTypes | Noner   r6   r   r   r   r   r   z0None | typing.Mapping[str, BaseTransport | None]r   r(   r   r   r   r   r   r   r   r   r   r   BaseTransport | Noner   r   r5   r\   r7   r8   r9   r:   r;   Client.__annotate__  s     M: M: M: '	M:
 $M: $M: ,M: M: M: M: M: !M: CM: M: M:  !M:" #M:$ C%M:& 'M:( ()M:* >+M:, 
-M:r<   c               	s  < \         SV `  VVVVVVVVVVVR 7       V	'       d    ^ RIpT;'       d    VRJ pV P	                  V
V4      pV P                  VVVVV	VVR7      V n        VP                  4        UU
u/ uF.  w  pp
\        V4      V
f   RMV P                  V
VVVVV	VR7      bK0  	  up
pV n
        VeI   V P                  P                  VP                  4        UUu/ uF  w  pp\        V4      VbK  	  upp4       \        \        V P                  P                  4       4      4      V n
        R#   \         d    \        R4      Rhi ; iu up
pi u uppi )r}   r~   r   r   r   r   r   r   r   r   r   NzuUsing http2=True, but the 'h2' package is not installed. Make sure to install httpx using `pip install httpx[http2]`.)r   r   r   r   r   r   r   r   r   r   r   r   r   Zsuperrg   h2ZImportErrorr   _init_transport
_transportr   r+   _init_proxy_transport_mountsr   r   Zsorted)re   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	proxy_mapr   	__class__   &$$$$$$$$$$$$$$$$$$$    r:   rg   ZClient.__init__  s   . 	-'#- 	 	
  &;;)t*;''/@A	.. / 
* (oo/@
 0
U sO} "++# , 
 0@
 LLBH,,.Q.YC)+.Q F4<<#5#5#789K  !S $@
  R   D5 94E"E
5Ec               8    V ^8  d   QhRRRRRRRRRRR	R
RRRR/# )r2   r   r   r   r   r   r6   r   r   r   r   r   r   r5   r   r7   r8   r9   r:   r;   r     sZ     
 
+
 
 	

 
 
 
 (
 

r<   c           	     	0    Ve   V# \        VVVVVVR7      # Nr   r   re   r   r   r   r   r   r   r      &&&&&&&&r:   r  ZClient._init_transport  s/      
 	
r<   c               8    V ^8  d   QhRRRRRRRRR	RR
RRRRR/# )r2   r   r   r   r   r   r   r   r6   r   r   r   r   r5   r   r7   r8   r9   r:   r;   r     sZ     
 

 ,
 	

 
 
 
 
 

r<   c           
     	&    \        VVVVVVVR 7      # )r   r   r   r   r   r   r   r  re   r   r   r   r   r   r   r   r  r:   r  ZClient._init_proxy_transport  s&     
 	
r<   c               rE   )r2   r3   r)   r5   r   r7   r8   r9   r:   r;   r     s     	 	c 	m 	r<   c                    V P                   P                  4        F2  w  r#VP                  V4      '       g   K  Vf   V P                  u # Tu # 	  V P                  # z
Returns the transport instance that should be used for a given URL.
This will either be the standard connection pool, or a proxy.
r  r   Zmatchesr  re   r3   Zpatternr   r   r:   _transport_for_urlZClient._transport_for_url  M    
 #',,"4"4"6Gs##*3*;tJJ #7 r<   r   r   r   r   r   c               P    V ^8  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRRRRRR/# r2   r   r   r3   r   r   r   r   r   r   r   r   r   r~   r   r   r   r   r   r}   r   r   bool | UseClientDefaultr   r   r   r   r5   r   r7   r8   r9   r:   r;   r     s     6P 6P6P 6P
 '6P !6P #6P  6P '6P $6P $6P 26P 26P 16P -6P  
!6Pr<   c               s    V	e    Rp\         P                  ! V\        ^R7       V P                  VVVVVVVVV	VVR7      pV P	                  WVR7      # )aQ  
Build and send a request.

Equivalent to:

```python
request = client.build_request(...)
response = client.send(request, ...)
```

See `Client.build_request()`, `Client.send()` and
[Merging of configuration][0] for how the various parameters
are merged with client-level configuration.

[0]: /advanced/clients/#merging-of-configuration
Setting per-request cookies=<...> is being deprecated, because the expected behaviour on cookie persistence is ambiguous. Set cookies directly on the client instance instead.Z
stacklevelr   r3   r   r   r   r   r~   r   r   r   r   r}   r   warningsZwarnZDeprecationWarningr   sendre   r   r3   r   r   r   r   r~   r   r   r}   r   r   r   Zmessager      &&&$$$$$$$$$$$  r:   r   ZClient.request  su    B C 
 MM'#5!D$$! % 
 yy>NyOOr<   c               r  )r2   r   r   r3   r   r   r   r   r   r   r   r   r   r~   r   r   r   r   r   r}   r   r   r  r   r   r   r   r5   ztyping.Iterator[Response]r7   r8   r9   r:   r;   r   <  s     1 11 1
 '1 !1 #1  1 '1 $1 $1 21 21 11 -1  
#!1r<   c             #  s   "   V P                  VVVVVVVVV	VVR7      pV P                  VV
VRR7      p Vx  VP                  4        R#   TP                  4        i ; i5iz
Alternative to `httpx.request()` that streams the response body
instead of loading it into memory at once.

**Parameters**: See `httpx.request`.

See also: [Streaming Responses][0]

[0]: /quickstart#streaming-responses
r  T)r   r}   r   rX   N)r   r"  ru   re   r   r3   r   r   r   r   r~   r   r   r}   r   r   r   r   rY   r$  r:   rX   ZClient.stream;  s|     8 $$! % 
 99-	  
	NNNHNNs   2A A A AA rX   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r2   r   r   rX   r6   r}   r   r   r  r5   r   r7   r8   r9   r:   r;   r   o  <     1 11 	1
 21 21 
1r<   c               s   V P                   \        P                  8X  d   \        R4      h\        P                  V n         \        V\        4      '       d   V P                  MTpV P                  V4       V P                  W4      pV P                  VVV. R7      p V'       g   VP                  4        V#   \         d   pTP                  4        ThRp?ii ; i)aK  
Send a request.

The request is sent as-is, unmodified.

Typically you'll want to build one with `Client.build_request()`
so that any client-level configuration is merged into the request,
but passing an explicit `httpx.Request()` is supported as well.

See also: [Request instances][0]

[0]: /advanced/clients/#request-instances
5Cannot send a request, as the client has been closed.r}   r   historyN)r   rR   rU   RuntimeErrorrT   r   rK   r   r   r   _send_handling_authreadBaseExceptionru   re   r   rX   r}   r   rY   r      &&$$$  r:   r"  ZClient.sendo  s    * ;;+,,,VWW!(( *,<== !!! 	 	'"''6++-	 , 
	O 	NNI	s   B6 6CCCc          
     r'  r2   r   r   r}   r   r   r6   r,  list[Response]r5   r   r7   r8   r9   r:   r;   r     s<            	 
    
 r<   c                	s   VP                  V4      p \        V4      p V P                  VVVR7      p  VP                  V4      p\        T4      Tn        TP                  4        TpTP                  T4       K]    \         d    Tu TP                  4        # i ; i  \         d   pTP                  4        ThRp?ii ; i  TP                  4        i ; i)Tr   r,  N)Zsync_auth_flowZnext_send_handling_redirectsr"  ZStopIterationru   r   r,  r/  appendr0  	re   r   r}   r   r,  Z	auth_flowrY   next_requestr   	   &&&&&    r:   r.  ZClient._send_handling_auth  s     ''0		9oG88%5# 9 
('0~~h'? (,G}H$MMO*GNN8, ) (' OO( % NN$I OOsL    C A; 3B 9C ;BB BB C )B;;C  C Cc               rW   	r2   r   r   r   r6   r,  r4  r5   r   r7   r8   r9   r:   r;   r     s2     # ## #  	#
 
#r<   c                	s    \        V4      V P                  8  d   \        RVR7      hV P                  R,           F  pV! V4       K  	  V P	                  V4      p V P                  R,           F  pV! V4       K  	  \        V4      Vn        VP                  '       g   V# V P                  W4      pW5.,           pV'       d   VP                  4        K  Wn
        V#   \         d   pTP                  4        ThRp?ii ; i)T#Exceeded maximum allowed redirects.r   r   rY   N)lenr   r   r   _send_single_requestr   r,  has_redirect_locationr   r/  r9  r0  ru   re   r   r   r,  ZhookrY   r      &&&&   r:   r6  ZClient._send_handling_redirects  s     7|d000&97  )))44W 5 009H --j99DN :#'= 555#O66wI!J.#MMO,3)#O   	s%   AC #2C C D*C<<Dc               rE   r2   r   r   r5   r   r7   r8   r9   r:   r;   r     s     ! !G ! !r<   c                s   V P                  VP                  4      p\        P                  ! 4       p\	        VP
                  \        4      '       g   \        R4      h\        VR7      ;_uu_ 4        VP                  V4      pRRR4       \	        XP
                  \        4      '       g   Q hWn
        \        VP
                  WCR7      Vn        V P                  P                  V4       V P                  Vn        \         P#                  RVP$                  VP                  VP&                  VP(                  VP*                  4       V#   + '       g   i     L; i)<
Sends a single request, without handling any redirections.
z?Attempted to send an async request with a sync Client instance.r   NrY   rZ   HTTP Request: %s %s "%s %d %s")r  r3   rp   rq   r   rX   r'   r-  r   Zhandle_requestr   rV   r   extract_cookiesr   r   loggerinfor   http_versionr   reason_phrasere   r   r   rZ   rY      &&   r:   r>  ZClient._send_single_request  s    ++GKK8	!!#'...99Q  W-- //8H . (//>::::")OOh
 	$$X.$($:$:!,NNKK!!  ""	
 + .-s   0EE	c               <    V ^8  d   QhRRRRRRRRR	R
RRRRRRRR/	# r2   r3   r   r~   r   r   r   r   r   r}   r   r   r  r   r   r   r   r5   r   r7   r8   r9   r:   r;   r     d     
 

 '	

 $
 $
 2
 2
 1
 -
 

r<   c               6    V P                  RVVVVVVVVR7	      # )=
Send a `GET` request.

**Parameters**: See `httpx.request`.
r   r~   r   r   r}   r   r   r   r   	re   r3   r~   r   r   r}   r   r   r   	   &&$$$$$$$r:   rF   Z
Client.get  s5    " ||-!  

 
	
r<   c               rM  r2   r3   r   r~   r   r   r   r   r   r}   AuthTypes | UseClientDefaultr   r  r   r   r   r   r5   r   r7   r8   r9   r:   r;   r   )  d     
 

 '	

 $
 $
 +
 2
 1
 -
 

r<   c               rP  )B
Send an `OPTIONS` request.

**Parameters**: See `httpx.request`.
OPTIONSrR  r   rS  rT  r:   optionsZClient.options)  s5    " ||-!  

 
	
r<   c               rM  rU  r7   r8   r9   r:   r;   r   F  rW  r<   c               rP  )>
Send a `HEAD` request.

**Parameters**: See `httpx.request`.
r   rR  r   rS  rT  r:   headZClient.headF  s5    " ||-!  

 
	
r<   c               L    V ^8  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRRRR/# r2   r3   r   r   r   r   r   r   r   r   r   r~   r   r   r   r   r   r}   rV  r   r  r   r   r   r   r5   r   r7   r8   r9   r:   r;   r   c       #
 #
#
 '	#

 !#
 ##
  #
 '#
 $#
 $#
 +#
 2#
 1#
 -#
 
#
r<   c               >    V P                  RVVVVVVVVV	V
VVR7      # )>
Send a `POST` request.

**Parameters**: See `httpx.request`.
r   r   r   r   r   r~   r   r   r}   r   r   r   r   re   r3   r   r   r   r   r~   r   r   r}   r   r   r      &&$$$$$$$$$$$r:   postZClient.postc  sA    * ||-!  
 	
r<   c               r]  r^  r7   r8   r9   r:   r;   r     r_  r<   c               r`  )=
Send a `PUT` request.

**Parameters**: See `httpx.request`.
PUTrb  r   rc  rd  r:   putZ
Client.put  sA    * ||-!  
 	
r<   c               r]  r^  r7   r8   r9   r:   r;   r     r_  r<   c               r`  )?
Send a `PATCH` request.

**Parameters**: See `httpx.request`.
PATCHrb  r   rc  rd  r:   patchZClient.patch  sA    * ||-!  
 	
r<   c               rM  rU  r7   r8   r9   r:   r;   r     rW  r<   c               rP  )@
Send a `DELETE` request.

**Parameters**: See `httpx.request`.
DELETErR  r   rS  rT  r:   deleteZClient.delete  s5    " ||-!  

 
	
r<   c               ri   rn   r7   r8   r9   r:   r;   r     s     
& 
&t 
&r<   c                s   V P                   \        P                  8w  di   \        P                  V n         V P                  P	                  4        V P
                  P                  4        F  pVf   K	  VP	                  4        K  	  R# R# z
Close transport and proxies.
N)r   rR   rU   r  ru   r  values)re   r   rl   r:   ru   ZClient.close  s_     ;;+,,,%,,DKOO!!#!\\002	(OO% 3	 -r<   c               r   )r2   re   r/   r5   r7   r8   r9   r:   r;   r     s       a r<   c                	s   V P                   \        P                  8w  d?   \        P                  R \        P                  R/V P                   ,          p\        V4      h\        P                  V n         V P                  P                  4        V P                  P                  4        F  pVf   K	  VP                  4        K  	  V # )-Cannot open a client instance more than once.9Cannot reopen a client instance, once it has been closed.)
r   rR   rS   rT   rU   r-  r  	__enter__r  rp  )re   msgr      &  r:   rs  ZClient.__enter__  s    ;;+...""$S""O
 kkC s##!((!!#,,.I$##% / r<   c               rW   	r2   exc_typeztype[BaseException] | None	exc_valuezBaseException | None	tracebackzTracebackType | Noner5   r\   r7   r8   r9   r:   r;   r     s8     C C,C (C (	C
 
Cr<   c                	s    \         P                  V n        V P                  P	                  WV4       V P
                  P                  4        F  pVf   K	  VP	                  WV4       K  	  R # r_   )rR   rU   r   r  __exit__r  rp  )re   rw  rx  ry  r   r   r:   rz  ZClient.__exit__  sR     "((  i@,,.I$""8	B /r<   r  r   r  NNN) rL   rM   rN   rO   rP   r
   r   r	   rg   r  r  r  r   r   r   rX   r"  r.  r6  r>  rF   rZ  r\  re  rh  rk  rn  ru   rs  rz  rQ   __classcell__r     @r:   r.   r.   R  s   *XM: "&M: *.	M:
 '+M: '+M: /3M: "&M: M: M: M: $(M: FJM: !7M: "'M:  (!M:" 3#M:$ FJ%M:& !'M:( +/)M:* AH+M: M:b /3!%'*.
2 /3!%'
(	6P
 *.6P $(6P &*6P #'6P *.6P '+6P '+6P 5G6P 5G6P 4F6P 046Pp 1
 *.1 $(1 &*1 #'1 *.1 '+1 '+1 5G1 5G1 4F1 041 1f1 	1
 5G1 5G1f D#J!F
 *.	

 '+
 '+
 5G
 5G
 4F
 04
:
 *.	

 '+
 '+
 .@
 5G
 4F
 04
:
 *.	

 '+
 '+
 .@
 5G
 4F
 04
:#
 *.	#

 $(#
 &*#
 #'#
 *.#
 '+#
 '+#
 .@#
 5G#
 4F#
 04#
J#
 *.	#

 $(#
 &*#
 #'#
 *.#
 '+#
 '+#
 .@#
 5G#
 4F#
 04#
J#
 *.	#

 $(#
 &*#
 #'#
 *.#
 '+#
 '+#
 .@#
 5G#
 4F#
 04#
J
 *.	

 '+
 '+
 .@
 5G
 4F
 04
:
&$C Cr<   c            &      s  a  ] tR tRtRtRRRRRRRRRR	R
RRR	RRRRRRR]RRR]R]RRRRRRRR	RR/R V 3R llltR	RR	R	R]R3R R llt	R	RR	R	R]3R R  llt
R! R" ltR#RR$RR%RR&RRRRRRRR]R]R]R'R/R( R) llt]R#RR$RR%RR&RRRRRRRR]R]R]R'R/R* R+ ll4       tR,RR]R]/R- R. lltR/ R0 ltR1 R2 ltR3 R4 ltRRRRRRR]R]R]R'R/R5 R6 lltRRRRRRR]R]R]R'R/R7 R8 lltRRRRRRR]R]R]R'R/R9 R: lltR#RR$RR%RR&RRRRRRRR]R]R]R'R/R; R< lltR#RR$RR%RR&RRRRRRRR]R]R]R'R/R= R> lltR#RR$RR%RR&RRRRRRRR]R]R]R'R/R? R@ lltRRRRRRR]R]R]R'R/RA RB lltRC RD ltRE RF ltRJRG RH lltRItV ;t# )Kr-   i  a	  
An asynchronous HTTP client, with connection pooling, HTTP/2, redirects,
cookie persistence, etc.

It can be shared between tasks.

Usage:

```python
>>> async with httpx.AsyncClient() as client:
>>>     response = await client.get('https://example.org')
```

**Parameters:**

* **auth** - *(optional)* An authentication class to use when sending
requests.
* **params** - *(optional)* Query parameters to include in request URLs, as
a string, dictionary, or sequence of two-tuples.
* **headers** - *(optional)* Dictionary of HTTP headers to include when
sending requests.
* **cookies** - *(optional)* Dictionary of Cookie items to include when
sending requests.
* **verify** - *(optional)* Either `True` to use an SSL context with the
default CA bundle, `False` to disable verification, or an instance of
`ssl.SSLContext` to use a custom context.
* **http2** - *(optional)* A boolean indicating if HTTP/2 support should be
enabled. Defaults to `False`.
* **proxy** - *(optional)* A proxy URL where all the traffic should be routed.
* **timeout** - *(optional)* The timeout configuration to use when sending
requests.
* **limits** - *(optional)* The limits configuration to use.
* **max_redirects** - *(optional)* The maximum number of redirect responses
that should be followed.
* **base_url** - *(optional)* A URL to use as the base when building
request URLs.
* **transport** - *(optional)* A transport class to use for sending requests
over the network.
* **trust_env** - *(optional)* Enables or disables usage of environment
variables for configuration.
* **default_encoding** - *(optional)* The default encoding to use for decoding
response text, if no charset information is included in a response Content-Type
header. Set to a callable for automatic character set detection. Default: "utf-8".
r}   Nr~   r   r   r   Tr   r   r   Fr   r   r   r   r   r   r   r   r   r   r   r   r   c          (     sh    V ^8  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRRRRRRRRRRRR R!RR"R#R$R%/# )&r2   r}   r   r~   r   r   r   r   r   r   r   r   r   r   r6   r   r   r   r   z5None | typing.Mapping[str, AsyncBaseTransport | None]r   r(   r   r   r   r   r   r   r   r   r   r   AsyncBaseTransport | Noner   r   r   r5   r\   r7   r8   r9   r:   r;   AsyncClient.__annotate__I  s     M: M: M: '	M:
 $M: $M: ,M: M: M: M: !M: HM: M: M: M:  !M:" C#M:$ %M:& -'M:( )M:* >+M:, 
-M:r<   c               	s  < \         SV `  VVVVVVVVVVVR 7       V'       d    ^ RIpT;'       d    VRJ pV P	                  V	V4      pV P                  VVVVVVVR7      V n        VP                  4        UU	u/ uF.  w  pp	\        V4      V	f   RMV P                  V	VVVVVVR7      bK0  	  up	pV n
        V
eI   V P                  P                  V
P                  4        UUu/ uF  w  pp\        V4      VbK  	  upp4       \        \        V P                  P                  4       4      4      V n
        R#   \         d    \        R4      Rhi ; iu up	pi u uppi r   r   )re   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r:   rg   ZAsyncClient.__init__I  s   . 	-'#- 	 	
  &;;)t*;''/@A	.. / 
, (oo/E
 0
U sO} "++# , 
 0E
 LLBH,,.Q.YC)+.Q F4<<#5#5#789K  !S &E
  Rr  c               r	  )r2   r   r   r   r   r   r6   r   r   r   r   r   r  r5   r   r7   r8   r9   r:   r;   r    sZ     
 
+
 
 	

 
 
 
 -
 

r<   c           	     	r
  r  r   r  r  r:   r  ZAsyncClient._init_transport  s/      !
 	
r<   c               r  )r2   r   r   r   r   r   r   r   r6   r   r   r   r   r5   r   r7   r8   r9   r:   r;   r    sZ     
 

 ,
 	

 
 
 
 
 

r<   c           
     	r  r  r  r  r  r:   r  Z!AsyncClient._init_proxy_transport  s&     "
 	
r<   c               rE   )r2   r3   r)   r5   r   r7   r8   r9   r:   r;   r    s     	 	c 	.@ 	r<   c                r  r  r  r  r   r:   r  ZAsyncClient._transport_for_url  r  r<   r   r   r   r   r   c               r  r  r7   r8   r9   r:   r;   r    s     7V 7V7V 7V
 '7V !7V #7V  7V '7V $7V $7V 27V 27V 17V -7V  
!7Vr<   c               s   "   V	e    Rp\         P                  ! V\        ^R7       V P                  VVVVVVVVV	VVR7      pV P	                  WVR7      G Rj  xL
 #  L5i)aa  
Build and send a request.

Equivalent to:

```python
request = client.build_request(...)
response = await client.send(request, ...)
```

See `AsyncClient.build_request()`, `AsyncClient.send()`
and [Merging of configuration][0] for how the various parameters
are merged with client-level configuration.

[0]: /advanced/clients/#merging-of-configuration
Nr  r  r  r  r   r#  r$  r:   r   ZAsyncClient.request  s~     D C 
 MM'#5!D$$! % 
 YYwDTYUUUUs   AAAAc               r  )r2   r   r   r3   r   r   r   r   r   r   r   r   r   r~   r   r   r   r   r   r}   r   r   r  r   r   r   r   r5   ztyping.AsyncIterator[Response]r7   r8   r9   r:   r;   r    s     1$ 1$1$ 1$
 '1$ !1$ #1$  1$ '1$ $1$ $1$ 21$ 21$ 11$ -1$  
(!1$r<   c              s   "   V P                  VVVVVVVVV	VVR7      pV P                  VV
VRR7      G Rj  xL
 p V5x  VP                  4       G Rj  xL
  R#  L$ L  TP                  4       G Rj  xL 
  i ; i5ir%  )r   r"  r{   r&  r$  r:   rX   ZAsyncClient.stream  s     8 $$! % 
 -	 # 
 
	$N//###
 $(//###sD   5A>AA>A  A>AA>A> A;4A75A;;A>rX   c          
     r'  r(  r7   r8   r9   r:   r;   r  :  r)  r<   c               s  "   V P                   \        P                  8X  d   \        R4      h\        P                  V n         \        V\        4      '       d   V P                  MTpV P                  V4       V P                  W4      pV P                  VVV. R7      G Rj  xL
 p V'       g   VP                  4       G Rj  xL
  V#  L' L  \         d!   pTP                  4       G Rj  xL 
  ThRp?ii ; i5i)aP  
Send a request.

The request is sent as-is, unmodified.

Typically you'll want to build one with `AsyncClient.build_request()`
so that any client-level configuration is merged into the request,
but passing an explicit `httpx.Request()` is supported as well.

See also: [Request instances][0]

[0]: /advanced/clients/#request-instances
r*  r+  N)r   rR   rU   r-  rT   r   rK   r   r   r   r.  areadr0  r{   r1  r2  r:   r"  ZAsyncClient.send:  s     * ;;+,,,VWW!(( *,<== !!! 	 	'"''611-	 2 
 
	nn&&&O
 '  	//###I	sZ   BC: C!C:&C .C C
C C:
C C7C2*C-+C22C77C:c          
     r'  r3  r7   r8   r9   r:   r;   r  m  s<      %  % %  % 	 %
   % 
 %r<   c                	sH  "   VP                  V4      p VP                  4       G R j  xL
 p V P                  VVVR7      G R j  xL
 p  VP                  V4      G R j  xL
 p\        T4      Tn        TP                  4       G R j  xL
  TpTP                  T4       Ku   Ly L^ LE  \         d    Tu TP                  4       G R j  xL 
  # i ; i LK  \         d!   pTP                  4       G R j  xL 
  ThR p?ii ; i  TP                  4       G R j  xL 
  i ; i5i)Nr5  )Zasync_auth_flowZ	__anext__r6  ZasendZStopAsyncIterationr{   r   r,  r  r7  r0  r8  r:  r:   r.  ZAsyncClient._send_handling_authm  s     ((1		%%//11G!%!>!>%5# "? " 
(-6__X-F'F (,G}H$"..****GNN8,# 2 (G- (' ""$$$( + % "//+++I ""$$$s   D"D B"D B$D B(  B&!B( %#C C	C  D $D &B( (C5C 6D"	C
D"CC D!C<4C75C<<DD DDDD"c               rW   r;  r7   r8   r9   r:   r;   r    s2     $ $$ $  	$
 
$r<   c                	sr  "    \        V4      V P                  8  d   \        RVR7      hV P                  R,           F  pV! V4      G Rj  xL
  K  	  V P	                  V4      G Rj  xL
 p V P                  R,           F  pV! V4      G Rj  xL
  K  	  \        V4      Vn        VP                  '       g   V# V P                  W4      pW5.,           pV'       d   VP                  4       G Rj  xL
  K  Wn
        V#  L L Lt L  \         d!   pTP                  4       G Rj  xL 
  ThRp?ii ; i5i)Tr<  r   r   NrY   )r=  r   r   r   r>  r   r,  r?  r   r  r9  r0  r{   r@  rA  r:   r6  Z$AsyncClient._send_handling_redirects  s#     7|d000&97  )))447m## 5 "66w??H --j99Dx.(( : $(= 555#O66wI!J.#"..***,3)#O' $? ) +
 ! oo'''	s   A
D7DD7)D*D7/!D	 D+D	 <D7=5D	 2D3D	 7D79D	  D7D7D	 D	 	D4D/'D*(D//D44D7c               rE   rB  r7   r8   r9   r:   r;   r    s        '  h  r<   c                s  "   V P                  VP                  4      p\        P                  ! 4       p\	        VP
                  \        4      '       g   \        R4      h\        VR7      ;_uu_ 4        VP                  V4      G Rj  xL
 pRRR4       \	        XP
                  \        4      '       g   Q hWn
        \        VP
                  WCR7      Vn        V P                  P                  V4       V P                  Vn        \         P#                  RVP$                  VP                  VP&                  VP(                  VP*                  4       V#  L  + '       g   i     L; i5i)rC  z?Attempted to send an sync request with an AsyncClient instance.r   NrD  rE  )r  r3   rp   rq   r   rX   r   r-  r   Zhandle_async_requestr   rx   r   rF  r   r   rG  rH  r   rI  r   rJ  rK  rL  r:   r>  Z AsyncClient._send_single_request  s     ++GKK8	!!#'../::Q  W--&;;GDDH . (//?;;;;"*OOh
 	$$X.$($:$:!,NNKK!!  ""	
 ' E .-s1   A0E'2EEECE'EE$	E'c               rM  rN  r7   r8   r9   r:   r;   r    rO  r<   c               R   "   V P                  RVVVVVVVVR7	      G Rj  xL
 #  L5i)rQ  r   rR  Nr   rS  rT  r:   rF   ZAsyncClient.get  sB     " \\-! " 

 

 
	
 

   '%'c               rM  rU  r7   r8   r9   r:   r;   r    rW  r<   c               r  )rX  rY  rR  Nr   rS  rT  r:   rZ  ZAsyncClient.options  sB     " \\-! " 

 

 
	
 

r  c               rM  rU  r7   r8   r9   r:   r;   r    rW  r<   c               r  )r[  r   rR  Nr   rS  rT  r:   r\  ZAsyncClient.head  sB     " \\-! " 

 

 
	
 

r  c               r]  r^  r7   r8   r9   r:   r;   r  .  r_  r<   c               Z   "   V P                  RVVVVVVVVV	V
VVR7      G Rj  xL
 #  L5i)ra  r   rb  Nr   rc  rd  r:   re  ZAsyncClient.post.  sN     * \\-! " 
 
 	
 
   "+)+c               r]  r^  r7   r8   r9   r:   r;   r  S  r_  r<   c               r  )rf  rg  rb  Nr   rc  rd  r:   rh  ZAsyncClient.putS  sN     * \\-! " 
 
 	
 
r  c               r]  r^  r7   r8   r9   r:   r;   r  x  r_  r<   c               r  )ri  rj  rb  Nr   rc  rd  r:   rk  ZAsyncClient.patchx  sN     * \\-! " 
 
 	
 
r  c               rM  rU  r7   r8   r9   r:   r;   r    rW  r<   c               r  )rl  rm  rR  Nr   rS  rT  r:   rn  ZAsyncClient.delete  sB     " \\-! " 

 

 
	
 

r  c               ri   rn   r7   r8   r9   r:   r;   r    s     
) 
)d 
)r<   c                sD  "   V P                   \        P                  8w  dy   \        P                  V n         V P                  P	                  4       G Rj  xL
  V P
                  P                  4        F!  pVf   K	  VP	                  4       G Rj  xL
  K#  	  R# R#  LG L5iro  )r   rR   rU   r  r{   r  rp  )re   r   rl   r:   r{   ZAsyncClient.aclose  sw      ;;+,,,%,,DK//((***,,.$,,.(( /	 - + )s*   AB B"B <B BB B c               r   )r2   re   r0   r5   r7   r8   r9   r:   r;   r    s      q Q r<   c                	s  "   V P                   \        P                  8w  d?   \        P                  R \        P                  R/V P                   ,          p\        V4      h\        P                  V n         V P                  P                  4       G Rj  xL
  V P                  P                  4        F!  pVf   K	  VP                  4       G Rj  xL
  K#  	  V #  LE L5i)rq  rr  N)
r   rR   rS   rT   rU   r-  r  
__aenter__r  rp  )re   rt  r   ru  r:   r  ZAsyncClient.__aenter__  s     ;;+...""$S""O
 kkC s##!((oo((***\\((*E &&((( + 	 	+ )s*   BCC"C:CCCCc               rW   rv  r7   r8   r9   r:   r;   r    s8     F F,F (F (	F
 
Fr<   c                	s
  "   \         P                  V n        V P                  P	                  WV4      G R j  xL
  V P
                  P                  4        F#  pVf   K	  VP	                  WV4      G R j  xL
  K%  	  R #  LG L5ir_   )rR   rU   r   r  	__aexit__r  rp  )re   rw  rx  ry  r   r   r:   r  ZAsyncClient.__aexit__  sk      "((oo''YGGG\\((*E ooh9EEE + 	H Fs'   5BA?"BB4B5BBr{  r|  ) rL   rM   rN   rO   rP   r
   r   r	   rg   r  r  r  r   r   r   rX   r"  r.  r6  r>  rF   rZ  r\  re  rh  rk  rn  r{   r  r  rQ   r}  r~  r  r:   r-   r-     s   +ZM: "&M: *.	M:
 '+M: '+M: /3M: "&M: M: M: $(M: KOM: !7M: "'M: (M:  3!M:" FJ#M:$ !%M:& 04'M:( )M:* AH+M: M:b /3!%'/3
2 /3!%'
(	7V
 *.7V $(7V &*7V #'7V *.7V '+7V '+7V 5G7V 5G7V 4F7V 047Vr 1$
 *.1$ $(1$ &*1$ #'1$ *.1$ '+1$ '+1$ 5G1$ 5G1$ 4F1$ 041$ 1$f1 	1
 5G1 5G1f %D$L D
 *.	

 '+
 '+
 5G
 5G
 4F
 04
:
 *.	

 '+
 '+
 .@
 5G
 4F
 04
:
 *.	

 '+
 '+
 .@
 5G
 4F
 04
:#
 *.	#

 $(#
 &*#
 #'#
 *.#
 '+#
 '+#
 .@#
 5G#
 4F#
 04#
J#
 *.	#

 $(#
 &*#
 #'#
 *.#
 '+#
 '+#
 .@#
 5G#
 4F#
 04#
J#
 *.	#

 $(#
 &*#
 #'#
 *.#
 '+#
 '+#
 .@#
 5G#
 4F#
 04#
J
 *.	

 '+
 '+
 .@
 5G
 4F
 04
:
)$F Fr<   )r   r-   r.   )\Z
__future__r    rr   ZenumZloggingrp   Ztypingr!  Z
contextlibr   r   Ztypesr   r   r   r   r   r   Z_configr   r	   r
   r   r   r   Z	_decodersr   Z_exceptionsr   r   r   r   Z_modelsr   r   r   r   Z_status_codesr   Z_transports.baser   r   Z_transports.defaultr   r   Z_typesr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   Z_urlsr)   r*   Z_utilsr+   r,   ZTYPE_CHECKINGZsslZ__all__ZTypeVarr/   r0   rD   rB   rJ   rK   r   Z	getLoggerrG  r   r   Zkeysr   ZEnumrR   rV   rx   ZCallableZAnyZ	EventHookr|   r.   r-   )r   s   0r:   <module>r     s   "       :  $ 0 0  *  9 8   ? B    $ 7	
9 NN3h'
NN3m,6 ( &'  
		7	#[M*
))&++-C-S
1BSS-C
$)) n .$ $. OOCO,	SW SWlFCZ FCRHF* HFE% Ds   	GG