
    > /i3                        d 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! d	d
l"m#Z#m$Z$  ejJ                  dd      Z& ejJ                  dd      Z'ejP                  ejR                  e*e*e*f   ejR                  e*e*ejP                  e+e,f   f   ejR                  e*e*de*f   f   Z-ej\                  dej^                  d   fd       Z0ej,                  eej                  eej(                  eej2                  eej                   eej                  eej                  eej&                  eej0                  eej$                  eej.                  eej"                  eej                  eej*                  eiZ1 G d de       Z2 G d de$      Z3 G d de      Z4 G d de#      Z5y)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)
    N)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SyncByteStreamVerifyTypes   )AsyncBaseTransportBaseTransportTHTTPTransport)boundAAsyncHTTPTransportreturnc               #      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        O/srv/sistema/bot/venv/lib/python3.12/site-packages/httpx/_transports/default.pymap_httpcore_exceptionsr4   ?   s     + +
 0 6 6 8 	$Hfc8, !Z
%C#
	$ c(!s*!+s*   A-	 A-	A*7A%
A%%A**A-c                   d    e Zd Zdej                  e   ddfdZdej                  e   fdZddZ	y)ResponseStreamhttpcore_streamr%   Nc                     || _         y r'   _httpcore_streamselfr7   s     r3   __init__zResponseStream.__init__i   
     /    c              #   v   K   t               5  | j                  D ]  }|  	 d d d        y # 1 sw Y   y xY wwr'   r4   r:   r<   parts     r3   __iter__zResponseStream.__iter__l   s:     $& 	-- 
	 	 	s   9-	969c                 f    t        | j                  d      r| j                  j                          y y )Nclose)hasattrr:   rF   r<   s    r3   rF   zResponseStream.closeq   s)    4(('2!!'') 3r?   r%   N)
__name__
__module____qualname__typingIterablebytesr=   IteratorrD   rF    r?   r3   r6   r6   h   s8    0(> 04 0&//%0 
*r?   r6   c                      e Zd Zddddeddddddfdedej                  e   deded	e	d
edej                  e
   dej                  e   dej                  e   dedej                  ej                  e      ddfdZdedefdZ	 	 	 ddej                  ej$                  e      dej                  e   dej                  e   ddfdZdedefdZddZy)r!   TNFr   verifycerthttp1http2limits	trust_envproxyudslocal_addressretriessocket_optionsr%   c                    t        |||      }|Ct        j                  ||j                  |j                  |j
                  ||||	|
|
      | _        y |j                  j                  dv rt        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        j*                  t        j                  |j                  j                  |j                  j                  |j                  j                  |j                  j                        |j                  ||j                  |j                  |j
                  ||	      | _        y t-        d
|j                  j                  d      # t(        $ r t)        d      d w xY w)NrS   rT   rX   
ssl_contextmax_connectionsmax_keepalive_connectionskeepalive_expiryrU   rV   rZ   r[   r\   r]   httphttpsschemehostporttarget)	proxy_url
proxy_authproxy_headersra   proxy_ssl_contextrb   rc   rd   rU   rV   r]   socks5r   {Using SOCKS proxy, but the 'socksio' package is not installed. Make sure to install httpx using `pip install httpx[socks]`.rm   rn   ra   rb   rc   rd   rU   rV   DProxy protocol must be either 'http', 'https', or 'socks5', but got .)r   httpcoreConnectionPoolrb   rc   rd   _poolurlri   	HTTPProxyURL
raw_schemeraw_hostrk   raw_pathraw_authheadersrawra   socksioImportError
SOCKSProxy
ValueErrorr<   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   ra   r   s                 r3   r=   zHTTPTransport.__init__w   s    )TYW=!00' & 6 6*0*J*J!'!8!8+-DJ YY!22!++",, 99//++ 99--	 !>>#mm//'"'"3"3 & 6 6*0*J*J!'!8!8-!DJ$ YY) ",,",, 99//++ 99--	 !>>' & 6 6*0*J*J!'!8!8DJ  VW\W`W`WgWgVjjkl -  !S s   H2 2Ir<   c                 :    | j                   j                          | S r'   )rx   	__enter__rH   s    r3   r   zHTTPTransport.__enter__   s    

r?   exc_type	exc_value	tracebackc                 |    t               5  | j                  j                  |||       d d d        y # 1 sw Y   y xY wr'   )r4   rx   __exit__r<   r   r   r   s       r3   r   zHTTPTransport.__exit__   s9     %& 	@JJ)Y?	@ 	@ 	@s   2;requestc           	         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   rv   r   r   r{   ry   r|   r}   rk   r~   r   r   r   r4   rx   handle_requestrM   rN   r   statusr6   r<   r   reqresps       r3   r   zHTTPTransport.handle_request   s    '...999>>{{--[[))[[%%{{++	 OO''NN))
 %& 	2::,,S1D	2 $++v777LL!$++.	
 	
	2 	2s   E$$E-c                 8    | j                   j                          y r'   )rx   rF   rH   s    r3   rF   zHTTPTransport.close   s    

r?   NNNrI   )rJ   rK   rL   r   r   rM   Optionalr   boolr   r   r-   intrN   SOCKET_OPTIONr=   r    r   TypeBaseExceptionr   r   r   r   r   rF   rQ   r?   r3   r!   r!   v   st    #+/'(,$(.2JNKK ooi(K 	K
 K K K u%K __S!K s+K K (FGK 
KZ a  AE4848	@//&++m"<=@ ??=1@ ??=1	@
 
@

 

<r?   c                   d    e Zd Zdej                  e   ddfdZdej                  e   fdZddZ	y)AsyncResponseStreamr7   r%   Nc                     || _         y r'   r9   r;   s     r3   r=   zAsyncResponseStream.__init__   r>   r?   c                   K   t               5  | j                  2 3 d {   }| 7 
6 	 d d d        y # 1 sw Y   y xY wwr'   rA   rB   s     r3   	__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)rG   r:   r   rH   s    r3   r   zAsyncResponseStream.aclose   s6     4(((3''..000 40s   4?=?rI   )
rJ   rK   rL   rM   AsyncIterablerO   r=   AsyncIteratorr   r   rQ   r?   r3   r   r      s<    0(<(<U(C 0 0!5!5e!< 
1r?   r   c                      e Zd Zddddeddddddfdedej                  e   deded	e	d
edej                  e
   dej                  e   dej                  e   dedej                  ej                  e      ddfdZdedefdZ	 	 	 ddej                  ej$                  e      dej                  e   dej                  e   ddfdZdedefdZddZy)r$   TNFr   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r%   c                    t        |||      }|Ct        j                  ||j                  |j                  |j
                  ||||	|
|
      | _        y |j                  j                  dv rt        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 t+        d
|j                  j                  d      # t&        $ r t'        d      d w xY w)Nr_   r`   re   rh   )
rm   rn   ro   ra   rb   rc   rd   rU   rV   r]   rq   r   rr   rs   rt   ru   )r   rv   AsyncConnectionPoolrb   rc   rd   rx   ry   ri   AsyncHTTPProxyr{   r|   r}   rk   r~   r   r   r   r   r   AsyncSOCKSProxyr   r   s                 r3   r=   zAsyncHTTPTransport.__init__  s    )TYW=!55' & 6 6*0*J*J!'!8!8+-DJ YY!22!00",, 99//++ 99--	 !>>#mm//' & 6 6*0*J*J!'!8!8-DJ" YY) "11",, 99//++ 99--	 !>>' & 6 6*0*J*J!'!8!8DJ  VW\W`W`WgWgVjjkl -  !S s   H' 'H=r<   c                 V   K   | j                   j                          d {    | S 7 wr'   )rx   
__aenter__rH   s    r3   r   zAsyncHTTPTransport.__aenter__N  s&     jj##%%% 	&s   )')r   r   r   c                    K   t               5  | j                  j                  |||       d {    d d d        y 7 # 1 sw Y   y xY wwr'   )r4   rx   	__aexit__r   s       r3   r   zAsyncHTTPTransport.__aexit__R  sL      %& 	G**&&xIFFF	G 	GF	G 	Gs%   A
!><>	A
>AA
r   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   rv   r   r   r{   ry   r|   r}   rk   r~   r   r   r   r4   rx   handle_async_requestrM   r   r   r   r   r   s       r3   r   z'AsyncHTTPTransport.handle_async_request[  s     '../:::>>{{--[[))[[%%{{++	 OO''NN))
 %& 	>88==D	> $++v';';<<<LL&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'   )rx   r   rH   s    r3   r   zAsyncHTTPTransport.aclosey  s     jj!!!s   (&(r   rI   )rJ   rK   rL   r   r   rM   r   r   r   r   r   r-   r   rN   r   r=   r#   r   r   r   r   r   r   r   r   r   rQ   r?   r3   r$   r$     st    #+/'(,$(.2JNJJ ooi(J 	J
 J J J u%J __S!J s+J J (FGJ 
JXq Q  AE4848	G//&++m"<=G ??=1G ??=1	G
 
G

 

<"r?   )6__doc__
contextlibrM   typesr   rv   _configr   r   r   r   _exceptionsr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   _modelsr   r   _typesr   r   r   r   baser   r   TypeVarr    r#   UnionTupler   rO   	bytearrayr   contextmanagerrP   r4   r)   r6   r!   r   r$   rQ   r?   r3   <module>r      s  2     G G     ( L L 3FNN3o.FNN323
LLc3
LLc6<<y(899:
LLc4$%' +!6 + +. /^+<+<<	  "5M!3  "5 $*^ *zM zz1/ 1y"+ y"r?   