
    ,h6                       U d Z ddlmZ ddlZddlZddlmZ ej                  rddl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' ddl(m)Z)m*Z*  ejV                  dd      Z, ejV                  dd      Z-ej\                  ej^                  e0e0e0f   ej^                  e0e0ej\                  e1e2f   f   ej^                  e0e0de0f   f   Z3ddgZ4i a5de6d<   ddZ7ejp                  dd       Z9 G d de%      Z: G d de*      Z; G d de"      Z< G d de)      Z=y)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)URL   )AsyncBaseTransportBaseTransportTHTTPTransport)boundAAsyncHTTPTransport,dict[type[Exception], type[httpx.HTTPError]]HTTPCORE_EXC_MAPc                    dd l } | j                  t        | j                  t        | j                  t        | j                  t        | j
                  t
        | j                  t        | j                  t        | j                  t        | j                  t        | j                  t        | j                  t        | j                  t        | j                  t        | j                  t        iS Nr   )httpcorer   r   r   r   r   r   r
   r   r   r   r   r   r   r   )r+   s    [/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/httpx/_transports/default.py_load_httpcore_exceptionsr-   J   s     	!!#3k|k||IZZ$$&9##%7$$&9     c               #    K   t        t              dk(  r
t               a	 d  y # t        $ rX} d }t        j	                         D ]#  \  }}t        | |      s|t        ||      s"|}% | t        |       } ||      | d } ~ ww xY wwr*   )lenr(   r-   	Exceptionitems
isinstance
issubclassstr)exc
mapped_excfrom_excto_excmessages        r,   map_httpcore_exceptionsr;   _   s      !46+ +
 0 6 6 8 	$Hfc8, !Z
%C#
	$ c(!s*!+s*   B	% B		B7B&BBB	c                  $    e Zd ZddZddZddZy)ResponseStreamc                    || _         y N_httpcore_streamselfhttpcore_streams     r,   __init__zResponseStream.__init__z   
     /r.   c              #  v   K   t               5  | j                  D ]  }|  	 d d d        y # 1 sw Y   y xY wwr?   r;   rA   rC   parts     r,   __iter__zResponseStream.__iter__}   s:     $& 	-- 
	 	 	s   9-	969c                f    t        | j                  d      r| j                  j                          y y )Nclose)hasattrrA   rM   rC   s    r,   rM   zResponseStream.close   s)    4(('2!!'') 3r.   N)rD   ztyping.Iterable[bytes]returnNone)rP   ztyping.Iterator[bytes]rP   rQ   )__name__
__module____qualname__rE   rK   rM    r.   r,   r=   r=   y   s    0
*r.   r=   c                      e Zd Zddddde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                   dd l }t        |t        t        f      rt	        |      n|}t        |||      }|?|j                  ||j                  |j                  |j                  ||||	|
|
      | _
        y |j                  j                  dv r|j                  |j                  |j                  j                  |j                  j                  |j                  j                   |j                  j"                        |j$                  |j&                  j(                  ||j*                  |j                  |j                  |j                  |||      | _
        y |j                  j                  dv r	 dd l}|j1                  |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)Nr   urlverifycert	trust_env
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_contextra   rb   rc   rd   re   ri   socks5socks5h{Using SOCKS proxy, but the 'socksio' package is not installed. Make sure to install httpx using `pip install httpx[socks]`.rr   rs   r`   ra   rb   rc   rd   re   zOProxy protocol must be either 'http', 'https', 'socks5', or 'socks5h', but got .)r+   r3   r5   r   r   r	   ConnectionPoolra   rb   rc   _poolrZ   rn   	HTTPProxy
raw_schemeraw_hostrp   raw_pathraw_authheadersrawr`   socksioImportError
SOCKSProxy
ValueErrorrC   r\   r]   r^   rd   re   limitsproxyrf   rg   rh   ri   r+   r`   r   s                  r,   rE   zHTTPTransport.__init__   s)    	$.usCj$A% u(TYW=!00' & 6 6*0*J*J!'!8!8+- 1 DJ YY!22!++",, 99//++ 99--	 '  !>>#mm//'"'"3"3 & 6 6*0*J*J!'!8!8-! , DJ$ YY!66 ",,",, 99//++ 99--	 '  !>>' & 6 6*0*J*J!'!8!8 - DJ  !II,,/q2 -  !S s   4I Ic                :    | j                   j                          | S r?   )r}   	__enter__rO   s    r,   r   zHTTPTransport.__enter__   s    

r.   c                |    t               5  | j                  j                  |||       d d d        y # 1 sw Y   y xY wr?   )r;   r}   __exit__rC   exc_type	exc_value	tracebacks       r,   r   zHTTPTransport.__exit__   s9     %& 	@JJ)Y?	@ 	@ 	@s   2;c           	        t        |j                  t              sJ dd l}|j	                  |j
                  |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Nr   rm   )methodrZ   r   content
extensions)status_coder   streamr   )r3   r   r   r+   r   r   r   rZ   r   r   rp   r   r   r   r   r;   r}   handle_requesttypingIterabler   statusr=   rC   requestr+   reqresps        r,   r   zHTTPTransport.handle_request   s    '...99>>{{--[[))[[%%{{++	   OO''NN))  
 %& 	2::,,S1D	2 $++v77LL!$++.	
 	
	2 	2s   E  E)c                8    | j                   j                          y r?   )r}   rM   rO   s    r,   rM   zHTTPTransport.close  s    

r.   r\   zssl.SSLContext | str | boolr]   zCertTypes | Noner^   boolrd   r   re   r   r   r   r   zProxyTypes | Nonerf   
str | Nonerg   r   rh   intri   z%typing.Iterable[SOCKET_OPTION] | NonerP   rQ   )rC   r"   rP   r"   NNNr   ztype[BaseException] | Noner   zBaseException | Noner   zTracebackType | NonerP   rQ   r   r   rP   r   rR   )	rS   rT   rU   r   rE   r   r   r   rM   rV   r.   r,   r#   r#      s
    /3!%'#'$(@DO+O O 	O
 O O O !O O "O O >O 
Ob 04*.*.	@,@ (@ (	@
 
@

 

>r.   c                  $    e Zd ZddZddZddZy)AsyncResponseStreamc                    || _         y r?   r@   rB   s     r,   rE   zAsyncResponseStream.__init__
  rF   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?   rH   rI   s     r,   	__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)rN   rA   r   rO   s    r,   r   zAsyncResponseStream.aclose  s6     4(((3''..000 40s   4?=?N)rD   ztyping.AsyncIterable[bytes]rP   rQ   )rP   ztyping.AsyncIterator[bytes]rR   )rS   rT   rU   rE   r   r   rV   r.   r,   r   r   	  s    0
1r.   r   c                      e Zd Zddddde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                   dd l }t        |t        t        f      rt	        |      n|}t        |||      }|?|j                  ||j                  |j                  |j                  ||||	|
|
      | _
        y |j                  j                  dv r|j                  |j                  |j                  j                  |j                  j                  |j                  j                   |j                  j"                        |j$                  |j&                  j(                  |j*                  ||j                  |j                  |j                  |||      | _
        y |j                  j                  dv r	 dd l}|j1                  |j                  |j                  j                  |j                  j                  |j                  j                   |j                  j"                        |j$                  ||j                  |j                  |j                  ||
      | _
        y t3        d      # t.        $ r t/        d	      d w xY w)Nr   rY   r[   r_   rj   rm   )rr   rs   rt   ru   r`   ra   rb   rc   rd   re   ri   rv   ry   rz   zdProxy protocol must be either 'http', 'https', 'socks5', or 'socks5h', but got {proxy.url.scheme!r}.)r+   r3   r5   r   r   r	   AsyncConnectionPoolra   rb   rc   r}   rZ   rn   AsyncHTTPProxyr   r   rp   r   r   r   r   r`   r   r   AsyncSOCKSProxyr   r   s                  r,   rE   zAsyncHTTPTransport.__init__  s    	$.usCj$A% u(TYW=!55' & 6 6*0*J*J!'!8!8+- 6 DJ YY!22!00",, 99//++ 99--	 '  !>>#mm//"'"3"3' & 6 6*0*J*J!'!8!8-! 1 DJ$ YY!66 "11",, 99//++ 99--	 '  !>>' & 6 6*0*J*J!'!8!8 2 DJ  1 -  !S s   4H- -Ic                V   K   | j                   j                          d {    | S 7 wr?   )r}   
__aenter__rO   s    r,   r   zAsyncHTTPTransport.__aenter__i  s&     jj##%%% 	&s   )')c                   K   t               5  | j                  j                  |||       d {    d d d        y 7 # 1 sw Y   y xY wwr?   )r;   r}   	__aexit__r   s       r,   r   zAsyncHTTPTransport.__aexit__m  sL      %& 	G**&&xIFFF	G 	GF	G 	Gs%   A
!><>	A
>AA
c           	       K   t        |j                  t              sJ dd l}|j	                  |j
                  |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   )r3   r   r   r+   r   r   r   rZ   r   r   rp   r   r   r   r   r;   r}   handle_async_requestr   AsyncIterabler   r   r   r   s        r,   r   z'AsyncHTTPTransport.handle_async_requestv  s     '../::>>{{--[[))[[%%{{++	   OO''NN))  
 %& 	>88==D	> $++v';';<<LL&t{{3	
 	
	 >	> 	>s1   CE8E,7E*8E,<A.E8*E,,E51E8c                T   K   | j                   j                          d {    y 7 wr?   )r}   r   rO   s    r,   r   zAsyncHTTPTransport.aclose  s     jj!!!s   (&(r   )rC   r%   rP   r%   r   r   r   rR   )	rS   rT   rU   r   rE   r   r   r   r   rV   r.   r,   r&   r&     s
    /3!%'#'$(@DO+O O 	O
 O O O !O O "O O >O 
Ob 04*.*.	G,G (G (	G
 
G

 

>"r.   )rP   r'   )rP   ztyping.Iterator[None])>__doc__
__future__r   
contextlibr   typesr   TYPE_CHECKINGsslhttpx_configr   r   r   r	   _exceptionsr
   r   r   r   r   r   r   r   r   r   r   r   r   r   _modelsr   r   _typesr   r   r   r   _urlsr   baser    r!   TypeVarr"   r%   UnionTupler   bytes	bytearraySOCKET_OPTION__all__r(   __annotations__r-   contextmanagerr;   r=   r#   r   r&   rV   r.   r,   <module>r      s?  4 #   	 G G     ( K K  3FNN3o.FNN323
LLc3
LLc6<<y(899:
LLc4$%'  
1AC > C* + +2*^ *M D1/ 1"+ "r.   