Ë
    RPfê3  ã                  óž  — d Z ddlmZ ddlZddlZddlmZ ddlZddlm	Z	m
Z
mZmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZ dd	lm Z m!Z!m"Z"m#Z#m$Z$ dd
l%m&Z& ddl'm(Z(m)Z)  ejT                  dd¬«      Z+ ejT                  dd¬«      Z,ejZ                  ej\                  e/e/e/f   ej\                  e/e/ejZ                  e0e1f   f   ej\                  e/e/de/f   f   Z2ejf                  dd„«       Z4ej0                  eej                  eej,                  eej6                  eej$                  eej"                  eej                  eej*                  eej4                  eej(                  eej2                  eej&                  eej                   eej.                  eiZ5 G d„ de#«      Z6 G d„ de)«      Z7 G d„ de «      Z8 G d„ de(«      Z9y)a   
Custom transports, with nicely configured defaults.

The following additional keyword arguments are currently supported by httpcore...

* uds: str
* local_address: str
* retries: int

Example usages...

# Disable HTTP/2 on a single specific domain.
mounts = {
    "all://": httpx.HTTPTransport(http2=True),
    "all://*example.org": httpx.HTTPTransport()
}

# Using advanced httpcore configuration, with connection retries.
transport = httpx.HTTPTransport(retries=1)
client = httpx.Client(transport=transport)

# Using advanced httpcore configuration, with unix domain sockets.
transport = httpx.HTTPTransport(uds="socket.uds")
client = httpx.Client(transport=transport)
é    )ÚannotationsN)ÚTracebackTypeé   )ÚDEFAULT_LIMITSÚLimitsÚProxyÚcreate_ssl_context)ÚConnectErrorÚConnectTimeoutÚLocalProtocolErrorÚNetworkErrorÚPoolTimeoutÚProtocolErrorÚ
ProxyErrorÚ	ReadErrorÚReadTimeoutÚRemoteProtocolErrorÚTimeoutExceptionÚUnsupportedProtocolÚ
WriteErrorÚWriteTimeout)ÚRequestÚResponse)ÚAsyncByteStreamÚ	CertTypesÚ
ProxyTypesÚSyncByteStreamÚVerifyTypes)ÚURLé   )ÚAsyncBaseTransportÚBaseTransportÚTÚHTTPTransport)ÚboundÚAÚAsyncHTTPTransportc               #  óÞ   K  — 	 d –— y # t         $ rX} d }t        j                  «       D ]#  \  }}t        | |«      sŒ|�t	        ||«      sŒ"|}Œ% |€‚ t        | «      } ||«      | ‚d } ~ ww xY w­w©N)Ú	ExceptionÚHTTPCORE_EXC_MAPÚitemsÚ
isinstanceÚ
issubclassÚstr)ÚexcÚ
mapped_excÚfrom_excÚto_excÚmessages        úS/var/www/fastapitest/venv/lib/python3.12/site-packages/httpx/_transports/default.pyÚmap_httpcore_exceptionsr6   B   sƒ   è ø€ ð+ÜøÜò +Øˆ
ä 0× 6Ñ 6Ó 8ò 	$ÑˆH�fÜ˜c 8Ô,Øð Ð!¤Z°¸
Õ%CØ#‘
ð	$ð ÐØä�c“(ˆÙ˜Ó! sÐ*ûð!+üs*   ‚A-„	 ˆA-‰	A*’7A%Á
A%Á%A*Á*A-c                  ó$   — e Zd Zdd„Zdd„Zdd„Zy)ÚResponseStreamc                ó   — || _         y r)   ©Ú_httpcore_stream©ÚselfÚhttpcore_streams     r5   Ú__init__zResponseStream.__init__l   ó
   € Ø /ˆÕó    c              #  óv   K  — t        «       5  | j                  D ]  }|–— Œ 	 d d d «       y # 1 sw Y   y xY w­wr)   ©r6   r;   ©r=   Úparts     r5   Ú__iter__zResponseStream.__iter__o   s:   è ø€ Ü$Ó&ñ 	Ø×-Ñ-ò �Ø“
ñ÷	÷ 	ñ 	üs   ‚9�-¤	9­6²9c                óf   — t        | j                  d«      r| j                  j                  «        y y )NÚclose)Úhasattrr;   rH   ©r=   s    r5   rH   zResponseStream.closet   s)   € Ü�4×(Ñ(¨'Ô2Ø×!Ñ!×'Ñ'Õ)ð 3rA   N)r>   ztyping.Iterable[bytes]ÚreturnÚNone)rK   ztyping.Iterator[bytes]©rK   rL   )Ú__name__Ú
__module__Ú__qualname__r?   rF   rH   © rA   r5   r8   r8   k   s   „ ó0óô
*rA   r8   c                  ó˜   — e Zd Zddddeddddddf	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d
d„Zdd„Z	 	 	 d	 	 	 	 	 	 	 dd„Z	 	 	 	 dd„Zdd	„Zy)r$   TNFr   c                óÞ  — t        |||¬«      }t        |t        t        f«      rt	        |¬«      n|}|€Ct        j                  ||j                  |j                  |j                  ||||	|
|¬«
      | _
        y |j                  j                  dv rÓt        j                  t        j                  |j                  j                  |j                  j                  |j                  j                   |j                  j"                  ¬«      |j$                  |j&                  j(                  ||j*                  |j                  |j                  |j                  |||¬«      | _
        y |j                  j                  dk(  r·	 dd l}t        j0                  t        j                  |j                  j                  |j                  j                  |j                  j                   |j                  j"                  ¬«      |j$                  ||j                  |j                  |j                  ||¬
«      | _
        y t3        d|j                  j                  ›d�«      ‚# t.        $ r t/        d	«      d ‚w xY w)N©ÚverifyÚcertÚ	trust_env©Úurl©
Ússl_contextÚmax_connectionsÚmax_keepalive_connectionsÚkeepalive_expiryÚhttp1Úhttp2ÚudsÚlocal_addressÚretriesÚsocket_options©ÚhttpÚhttps©ÚschemeÚhostÚportÚtarget)Ú	proxy_urlÚ
proxy_authÚproxy_headersr[   Úproxy_ssl_contextr\   r]   r^   r_   r`   rd   Úsocks5r   ú{Using SOCKS proxy, but the 'socksio' package is not installed. Make sure to install httpx using `pip install httpx[socks]`.©rm   rn   r[   r\   r]   r^   r_   r`   zDProxy protocol must be either 'http', 'https', or 'socks5', but got ú.)r	   r-   r/   r   r   ÚhttpcoreÚConnectionPoolr\   r]   r^   Ú_poolrY   ri   Ú	HTTPProxyÚ
raw_schemeÚraw_hostrk   Úraw_pathÚraw_authÚheadersÚrawr[   ÚsocksioÚImportErrorÚ
SOCKSProxyÚ
ValueError©r=   rU   rV   r_   r`   ÚlimitsrW   Úproxyra   rb   rc   rd   r[   r   s                 r5   r?   zHTTPTransport.__init__z   s  € ô )°¸TÈYÔWˆÜ$.¨u´s¼C°jÔ$A”˜%Õ Àuˆàˆ=Ü!×0Ñ0Ø'Ø &× 6Ñ 6Ø*0×*JÑ*JØ!'×!8Ñ!8ØØØØ+ØØ-ôˆD�Jð �Y‰Y×ÑÐ!2Ñ2Ü!×+Ñ+Ü"Ÿ,™,Ø Ÿ9™9×/Ñ/ØŸ™×+Ñ+ØŸ™Ÿ™Ø Ÿ9™9×-Ñ-ô	ð !Ÿ>™>Ø#Ÿm™m×/Ñ/Ø'Ø"'×"3Ñ"3Ø &× 6Ñ 6Ø*0×*JÑ*JØ!'×!8Ñ!8ØØØ-ô!ˆD�Jð$ �Y‰Y×Ñ Ò)ðÛô "×,Ñ,Ü"Ÿ,™,Ø Ÿ9™9×/Ñ/ØŸ™×+Ñ+ØŸ™Ÿ™Ø Ÿ9™9×-Ñ-ô	ð !Ÿ>™>Ø'Ø &× 6Ñ 6Ø*0×*JÑ*JØ!'×!8Ñ!8ØØôˆD�Jô  ðØ!ŸI™I×,Ñ,Ð/¨qð2óð øô- ò Ü!ðSóð ððús   Å=I ÉI,c                ó:   — | j                   j                  «        | S r)   )rw   Ú	__enter__rJ   s    r5   r‡   zHTTPTransport.__enter__É   s   € Ø�
‰
×ÑÔØˆrA   c                ó|   — t        «       5  | j                  j                  |||«       d d d «       y # 1 sw Y   y xY wr)   )r6   rw   Ú__exit__©r=   Úexc_typeÚ	exc_valueÚ	tracebacks       r5   r‰   zHTTPTransport.__exit__Í   s9   € ô %Ó&ñ 	@Ø�J‰J×Ñ ¨)°YÔ?÷	@÷ 	@ñ 	@ús   ‹2²;c           	     óà  — t        |j                  t        «      sJ ‚t        j                  |j
                  t        j                  |j                  j                  |j                  j                  |j                  j                  |j                  j                  ¬«      |j                  j                  |j                  |j                  ¬«      }t        «       5  | j                   j#                  |«      }d d d «       t        j                  t$        j&                  «      sJ ‚t)        |j*                  |j                  t-        |j                  «      |j                  ¬«      S # 1 sw Y   ŒoxY w©Nrh   )ÚmethodrY   r}   ÚcontentÚ
extensions)Ústatus_coder}   Ústreamr’   )r-   r”   r   ru   r   r�   r   rY   ry   rz   rk   r{   r}   r~   r’   r6   rw   Úhandle_requestÚtypingÚIterabler   Ústatusr8   ©r=   ÚrequestÚreqÚresps       r5   r•   zHTTPTransport.handle_requestÖ   s  € ô ˜'Ÿ.™.¬.Ô9Ð9Ð9ä×ÑØ—>‘>Ü—‘Ø—{‘{×-Ñ-Ø—[‘[×)Ñ)Ø—[‘[×%Ñ%Ø—{‘{×+Ñ+ô	ð —O‘O×'Ñ'Ø—N‘NØ×)Ñ)ô
ˆô %Ó&ñ 	2Ø—:‘:×,Ñ,¨SÓ1ˆD÷	2ô ˜$Ÿ+™+¤v§¡Ô7Ð7Ð7äØŸ™Ø—L‘LÜ! $§+¡+Ó.Ø—‘ô	
ð 	
÷	2ð 	2ús   ÃE$Å$E-c                ó8   — | j                   j                  «        y r)   )rw   rH   rJ   s    r5   rH   zHTTPTransport.closeô   s   € Ø�
‰
×ÑÕrA   ©rU   r   rV   zCertTypes | Noner_   Úboolr`   rŸ   r„   r   rW   rŸ   r…   zProxyTypes | Nonera   ú
str | Nonerb   r    rc   Úintrd   z%typing.Iterable[SOCKET_OPTION] | NonerK   rL   )r=   r#   rK   r#   ©NNN©r‹   ztype[BaseException] | NonerŒ   zBaseException | Noner�   zTracebackType | NonerK   rL   ©rš   r   rK   r   rM   )	rN   rO   rP   r   r?   r‡   r‰   r•   rH   rQ   rA   r5   r$   r$   y   s
  „ ð #Ø!%ØØØ'ØØ#'ØØ$(ØØ@DðMàðMð ðMð ð	Mð
 ðMð ðMð ðMð !ðMð ðMð "ðMð ðMð >ðMð 
óMó^ð 04Ø*.Ø*.ð	@à,ð@ð (ð@ð (ð	@ð
 
ó@ð
àð
ð 
ó
ô<rA   c                  ó$   — e Zd Zdd„Zdd„Zdd„Zy)ÚAsyncResponseStreamc                ó   — || _         y r)   r:   r<   s     r5   r?   zAsyncResponseStream.__init__ù   r@   rA   c               óˆ   K  — t        «       5  | j                  2 3 d {  –—† }|­–— Œ7 Œ
6 	 d d d «       y # 1 sw Y   y xY w­wr)   rC   rD   s     r5   Ú	__aiter__zAsyncResponseStream.__aiter__ü   sC   è ø€ Ü$Ó&ñ 	Ø"×3Ñ3÷ ð �dØ”
ðøÑ3÷	÷ 	ñ 	üs/   ‚A�6š+ž)Ÿ+¢6©+«6­	A¶?»Ac              ƒ  ó‚   K  — t        | j                  d«      r#| j                  j                  «       ƒ d {  –—†  y y 7 Œ­w)NÚaclose)rI   r;   r«   rJ   s    r5   r«   zAsyncResponseStream.aclose  s6   è ø€ Ü�4×(Ñ(¨(Ô3Ø×'Ñ'×.Ñ.Ó0×0Ñ0ð 4Ø0ús   ‚4?¶=·?N)r>   ztyping.AsyncIterable[bytes]rK   rL   )rK   ztyping.AsyncIterator[bytes]rM   )rN   rO   rP   r?   r©   r«   rQ   rA   r5   r¦   r¦   ø   s   „ ó0óô
1rA   r¦   c                  ó˜   — e Zd Zddddeddddddf	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d
d„Zdd„Z	 	 	 d	 	 	 	 	 	 	 dd„Z	 	 	 	 dd„Zdd	„Zy)r'   TNFr   c                ó˜  — t        |||¬«      }t        |t        t        f«      rt	        |¬«      n|}|€Ct        j                  ||j                  |j                  |j                  ||||	|
|¬«
      | _
        y |j                  j                  dv rÈt        j                  t        j                  |j                  j                  |j                  j                  |j                  j                   |j                  j"                  ¬«      |j$                  |j&                  j(                  ||j                  |j                  |j                  |||¬«
      | _
        y |j                  j                  dk(  r·	 dd l}t        j.                  t        j                  |j                  j                  |j                  j                  |j                  j                   |j                  j"                  ¬«      |j$                  ||j                  |j                  |j                  ||¬
«      | _
        y t1        d«      ‚# t,        $ r t-        d	«      d ‚w xY w)NrT   rX   rZ   re   rh   )
rm   rn   ro   r[   r\   r]   r^   r_   r`   rd   rq   r   rr   rs   zYProxy protocol must be either 'http', 'https', or 'socks5', but got {proxy.url.scheme!r}.)r	   r-   r/   r   r   ru   ÚAsyncConnectionPoolr\   r]   r^   rw   rY   ri   ÚAsyncHTTPProxyry   rz   rk   r{   r|   r}   r~   r   r€   ÚAsyncSOCKSProxyr‚   rƒ   s                 r5   r?   zAsyncHTTPTransport.__init__  sì  € ô )°¸TÈYÔWˆÜ$.¨u´s¼C°jÔ$A”˜%Õ Àuˆàˆ=Ü!×5Ñ5Ø'Ø &× 6Ñ 6Ø*0×*JÑ*JØ!'×!8Ñ!8ØØØØ+ØØ-ôˆD�Jð �Y‰Y×ÑÐ!2Ñ2Ü!×0Ñ0Ü"Ÿ,™,Ø Ÿ9™9×/Ñ/ØŸ™×+Ñ+ØŸ™Ÿ™Ø Ÿ9™9×-Ñ-ô	ð !Ÿ>™>Ø#Ÿm™m×/Ñ/Ø'Ø &× 6Ñ 6Ø*0×*JÑ*JØ!'×!8Ñ!8ØØØ-ôˆD�Jð" �Y‰Y×Ñ Ò)ðÛô "×1Ñ1Ü"Ÿ,™,Ø Ÿ9™9×/Ñ/ØŸ™×+Ñ+ØŸ™Ÿ™Ø Ÿ9™9×-Ñ-ô	ð !Ÿ>™>Ø'Ø &× 6Ñ 6Ø*0×*JÑ*JØ!'×!8Ñ!8ØØôˆD�Jô  ð1óð øô- ò Ü!ðSóð ððús   Å2H3 È3I	c              ƒ  óV   K  — | j                   j                  «       ƒ d {  –—†  | S 7 Œ­wr)   )rw   Ú
__aenter__rJ   s    r5   r²   zAsyncHTTPTransport.__aenter__U  s&   è ø€ Ø�j‰j×#Ñ#Ó%×%Ð%Øˆð 	&ús   ‚) '¡)c              ƒ  ó˜   K  — t        «       5  | j                  j                  |||«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wr)   )r6   rw   Ú	__aexit__rŠ   s       r5   r´   zAsyncHTTPTransport.__aexit__Y  sL   è ø€ ô %Ó&ñ 	GØ—*‘*×&Ñ& x°¸IÓF×FÐF÷	Gð 	GØFø÷	Gð 	Güs%   ‚A
�!>®<¯>³	A
¼>¾AÁA
c           	   ƒ  óü  K  — t        |j                  t        «      sJ ‚t        j                  |j
                  t        j                  |j                  j                  |j                  j                  |j                  j                  |j                  j                  ¬«      |j                  j                  |j                  |j                  ¬«      }t        «       5  | j                   j#                  |«      ƒ d {  –—† }d d d «       t        j                  t$        j&                  «      sJ ‚t)        |j*                  |j                  t-        |j                  «      |j                  ¬«      S 7 Œr# 1 sw Y   ŒqxY w­wr�   )r-   r”   r   ru   r   r�   r   rY   ry   rz   rk   r{   r}   r~   r’   r6   rw   Úhandle_async_requestr–   ÚAsyncIterabler   r˜   r¦   r™   s       r5   r¶   z'AsyncHTTPTransport.handle_async_requestb  s  è ø€ ô ˜'Ÿ.™.¬/Ô:Ð:Ð:ä×ÑØ—>‘>Ü—‘Ø—{‘{×-Ñ-Ø—[‘[×)Ñ)Ø—[‘[×%Ñ%Ø—{‘{×+Ñ+ô	ð —O‘O×'Ñ'Ø—N‘NØ×)Ñ)ô
ˆô %Ó&ñ 	>ØŸ™×8Ñ8¸Ó=×=ˆD÷	>ô ˜$Ÿ+™+¤v×';Ñ';Ô<Ð<Ð<äØŸ™Ø—L‘LÜ& t§{¡{Ó3Ø—‘ô	
ð 	
ð	 >ø÷	>ð 	>üs1   ‚CE<ÃE0Ã;E.Ã<E0Ä A.E<Å.E0Å0E9Å5E<c              ƒ  óT   K  — | j                   j                  «       ƒ d {  –—†  y 7 Œ­wr)   )rw   r«   rJ   s    r5   r«   zAsyncHTTPTransport.aclose€  s   è ø€ Ø�j‰j×ÑÓ!×!Ò!ús   ‚( &¡(rž   )r=   r&   rK   r&   r¢   r£   r¤   rM   )	rN   rO   rP   r   r?   r²   r´   r¶   r«   rQ   rA   r5   r'   r'     s
  „ ð #Ø!%ØØØ'ØØ#'ØØ$(ØØ@DðLàðLð ðLð ð	Lð
 ðLð ðLð ðLð !ðLð ðLð "ðLð ðLð >ðLð 
óLó\ð 04Ø*.Ø*.ð	Gà,ðGð (ðGð (ð	Gð
 
óGð
àð
ð 
ó
ô<"rA   )rK   ztyping.Iterator[None]):Ú__doc__Ú
__future__r   Ú
contextlibr–   Útypesr   ru   Ú_configr   r   r   r	   Ú_exceptionsr
   r   r   r   r   r   r   r   r   r   r   r   r   r   Ú_modelsr   r   Ú_typesr   r   r   r   r   Ú_urlsr   Úbaser!   r"   ÚTypeVarr#   r&   ÚUnionÚTupler¡   ÚbytesÚ	bytearrayÚSOCKET_OPTIONÚcontextmanagerr6   r+   r8   r$   r¦   r'   rQ   rA   r5   ú<module>rÊ      s¾  ðñõ2 #ã Û Ý ã ç GÓ G÷÷ ÷ ÷ ÷  (ß XÕ XÝ ß 3à€F‡N�N�3˜oÔ.€Ø€F‡N�N�3Ð2Ô3€à—‘Ø
‡L�L��c˜3�ÑØ
‡L�L��c˜6Ÿ<™<¨¨yÐ(8Ñ9Ð9Ñ:Ø
‡L�L��c˜4 Ð$Ñ%ð'ñ€ð ×Ñò+ó ð+ð. ×ÑÐ/Ø×Ñ˜^Ø×Ñ˜+Ø×Ñ˜<Ø×Ñ˜+Ø×Ñ˜<Ø×Ñ˜<Ø×Ñ˜	Ø×Ñ˜Ø×Ñ˜Ø× Ñ Ð"5Ø×Ñ˜MØ×ÑÐ!3Ø× Ñ Ð"5ðÐ ô$*�^ô *ô|�Mô |ô~1˜/ô 1ô{"Ð+õ {"rA   