
    ,hc!                       d dl mZ d dlZd dlZddlmZ ddlmZmZm	Z	 ddl
mZ ej                  rd dlZg dZ G d d	      Z e       Z	 	 	 d	 	 	 	 	 	 	 dd
Z G d d      Z G d d      Z G d d      Z ed      Z edd      ZdZy)    )annotationsN   )Headers)	CertTypesHeaderTypesTimeoutTypes)URL)LimitsProxyTimeoutcreate_ssl_contextc                      e Zd Zy)	UnsetTypeN)__name__
__module____qualname__     O/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/httpx/_config.pyr   r      s    r   r   c                l   dd l }dd l}dd l}| du r|rEt        j                  j                  d      r& |j                  t        j                  d         }n|rDt        j                  j                  d      r% |j                  t        j                  d         }n |j                  |j                               }n| du r5 |j                  |j                        }d|_
        |j                  |_        not        | t              r]d}|j                  |t                t        j"                  j%                  |       r |j                  |       S  |j                  |       S | }|rJd	}|j                  |t                t        |t              r|j'                  |       |S  |j&                  |  |S )
Nr   TSSL_CERT_FILE)cafileSSL_CERT_DIR)capathFz`verify=<str>` is deprecated. Use `verify=ssl.create_default_context(cafile=...)` or `verify=ssl.create_default_context(capath=...)` instead.zz`cert=...` is deprecated. Use `verify=<ssl_context>` instead,with `.load_cert_chain()` to configure the certificate chain.)sslwarningscertifiosenvirongetcreate_default_contextwhere
SSLContextPROTOCOL_TLS_CLIENTcheck_hostname	CERT_NONEverify_mode
isinstancestrwarnDeprecationWarningpathisdirload_cert_chain)verifycert	trust_envr   r   r   ctxmessages           r   r   r      sn   
 ~8,#,,BJJ4OPC2::>>.9,#,,BJJ~4NOC -#,,GMMODC	5cnnS445"--	FC	 J 	
 	g1277== -3--V<<)s))88L 	 	g12dC % J  C&Jr   c                  V    e Zd ZdZefeeeed	 	 	 	 	 	 	 	 	 	 	 ddZd	dZd
dZddZy)r   a  
    Timeout configuration.

    **Usage**:

    Timeout(None)               # No timeouts.
    Timeout(5.0)                # 5s timeout on all operations.
    Timeout(None, connect=5.0)  # 5s timeout on connect, no other timeouts.
    Timeout(5.0, connect=10.0)  # 10s timeout on connect. 5s timeout elsewhere.
    Timeout(5.0, pool=None)     # No timeout on acquiring connection from pool.
                                # 5s timeout elsewhere.
    connectreadwritepoolc               t   t        |t              rm|t        u sJ |t        u sJ |t        u sJ |t        u sJ |j                  | _        |j                  | _        |j
                  | _        |j                  | _        y t        |t              rO|d   | _        |d   | _        t        |      dk  rd n|d   | _        t        |      dk  rd | _        y |d   | _        y t        |t              sMt        |t              s=t        |t              s-t        |t              s|| _        || _        || _        || _        y t        |t              rt        d      t        |t              r|n|| _        t        |t              r|n|| _        t        |t              r|n|| _        t        |t              r|n|| _        y )Nr   r            zShttpx.Timeout must either include a default, or set all four parameters explicitly.)r(   r   UNSETr6   r7   r8   r9   tuplelenr   
ValueError)selftimeoutr6   r7   r8   r9   s         r   __init__zTimeout.__init__V   sa    gw'e##5= E>!5= "??DLDI DJDI'"1:DL
DI!$W!1wqzDJ #Gq 0DIgajDIw	*$	*%+$	*"DLDIDJDI'9- 2  '1)&D7'DL#-dI#>DDI$.ui$@eDJ#-dI#>DDIr   c                `    | j                   | j                  | j                  | j                  dS )Nr5   r5   rB   s    r   as_dictzTimeout.as_dict   s(    ||IIZZII	
 	
r   c                   t        || j                        xrj | j                  |j                  k(  xrO | j                  |j                  k(  xr4 | j                  |j                  k(  xr | j
                  |j
                  k(  S N)r(   	__class__r6   r7   r8   r9   rB   others     r   __eq__zTimeout.__eq__   sm    udnn- (-(		UZZ'( 

ekk)( 		UZZ'	
r   c           
     8   | j                   j                  }t        | j                  | j                  | j
                  | j                  h      dk(  r| d| j                   dS | d| j                   d| j                   d| j
                   d| j                   d
S )Nr   z	(timeout=)z	(connect=z, read=z, write=z, pool=)rJ   r   r@   r6   r7   r8   r9   rB   
class_names     r   __repr__zTimeout.__repr__   s    ^^,,
diiTYY?@AE \4<<.::l)DLL> 2II;htzzl'$))AG	
r   N)rC   zTimeoutTypes | UnsetTyper6   None | float | UnsetTyper7   rS   r8   rS   r9   rS   returnNone)rT   zdict[str, float | None]rL   z
typing.AnyrT   boolrT   r)   )	r   r   r   __doc__r>   rD   rG   rM   rR   r   r   r   r   r   H   sv     -2,I -2).*/).,I),I *	,I
 ',I (,I ',I 
,I\


r   r   c                  @    e Zd ZdZdddd	 	 	 	 	 	 	 ddZd	dZd
dZy)r
   a  
    Configuration for limits to various client behaviors.

    **Parameters:**

    * **max_connections** - The maximum number of concurrent connections that may be
            established.
    * **max_keepalive_connections** - Allow the connection pool to maintain
            keep-alive connections below this point. Should be less than or equal
            to `max_connections`.
    * **keepalive_expiry** - Time limit on idle keep-alive connections in seconds.
    N      @max_connectionsmax_keepalive_connectionskeepalive_expiryc               .    || _         || _        || _        y rI   r\   )rB   r]   r^   r_   s       r   rD   zLimits.__init__   s      /)B& 0r   c                    t        || j                        xrO | j                  |j                  k(  xr4 | j                  |j                  k(  xr | j                  |j                  k(  S rI   )r(   rJ   r]   r^   r_   rK   s     r   rM   zLimits.__eq__   se    udnn- @$$(=(==@..%2Q2QQ@ %%)?)??		
r   c                    | j                   j                  }| d| j                   d| j                   d| j                   dS )Nz(max_connections=z, max_keepalive_connections=z, keepalive_expiry=rO   )rJ   r   r]   r^   r_   rP   s     r   rR   zLimits.__repr__   sT    ^^,,
l+D,@,@+A B))-)G)G(H I  $ 5 56a9	
r   )r]   
int | Noner^   rc   r_   zfloat | NonerT   rU   rV   rX   )r   r   r   rY   rD   rM   rR   r   r   r   r
   r
      sI      '+04),	1 $	1 $.		1
 '	1 
	1

r   r
   c                  J    e Zd Zdddd	 	 	 	 	 	 	 	 	 ddZedd       ZddZy)	r   N)ssl_contextauthheadersc               &   t        |      }t        |      }|j                  dvrt        d|      |j                  s|j
                  r+|j                  |j
                  f}|j                  d d       }|| _        || _        || _	        || _
        y )N)httphttpssocks5socks5hzUnknown scheme for proxy URL )usernamepassword)r	   r   schemerA   rm   rn   	copy_withurlrf   rg   re   )rB   rq   re   rf   rg   s        r   rD   zProxy.__init__   s     #h'"::CC<SGDEE<<3<<LL#,,/D---=C	&r   c                    | j                   d S | j                   d   j                  d      | j                   d   j                  d      fS )Nr   zutf-8r   )rf   encoderF   s    r   raw_authzProxy.raw_auth   sM    
 yy  	
 ))A,%%g.		!0C0CG0LM	
r   c                    | j                   r| j                   d   dfnd }t        | j                        }|rd|nd}| j                  rdt	        | j                        nd}d| | | dS )Nr   z********z, auth= z
, headers=zProxy(rO   )rf   r)   rq   rg   dict)rB   rf   url_strauth_strheaders_strs        r   rR   zProxy.__repr__   ss    -1YY		!j)D ]%)-WTH%2=A\\
4#5"89ry
;-q99r   )
rq   z	URL | strre   zssl.SSLContext | Nonerf   ztuple[str, str] | Nonerg   zHeaderTypes | NonerT   rU   )rT   ztuple[bytes, bytes] | NonerX   )r   r   r   rD   propertyrt   rR   r   r   r   r   r      s[    
 .2'+&*'' +	'
 %' $' 
'0 
 
:r   r   r[   )rC   d      )r]   r^   )TNT)r/   zssl.SSLContext | str | boolr0   zCertTypes | Noner1   rW   rT   zssl.SSLContext)
__future__r   r   typing_modelsr   _typesr   r   r   _urlsr	   TYPE_CHECKINGr   __all__r   r>   r   r   r
   r   DEFAULT_TIMEOUT_CONFIGDEFAULT_LIMITSDEFAULT_MAX_REDIRECTSr   r   r   <module>r      s    " 	   8 8 	
>	 	 	 +/!.'.
. . 	.bT
 T
n'
 '
T*: *:Z !- rJ r   