HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/httpx/__pycache__/_config.cpython-310.pyc
o

���gc!�@s�ddlmZddlZddlZddlmZddlmZmZm	Z	ddl
mZejr+ddl
Z
gd�ZGdd	�d	�Ze�Z	
		
d d!dd�ZGdd�d�ZGdd�d�ZGdd�d�Zedd�Zeddd�ZdZdS)"�)�annotationsN�)�Headers)�	CertTypes�HeaderTypes�TimeoutTypes)�URL)�Limits�Proxy�Timeout�create_ssl_contextc@seZdZdS)�	UnsetTypeN)�__name__�
__module__�__qualname__�rr�8/usr/local/lib/python3.10/dist-packages/httpx/_config.pyr
sr
T�verify�ssl.SSLContext | str | bool�cert�CertTypes | None�	trust_env�bool�return�ssl.SSLContextcCsddl}ddl}ddl}|dur=|r"tj�d�r"|jtjdd�}nN|r4tj�d�r4|jtjdd�}n<|j|��d�}n3|durO|�|j	�}d|_
|j|_n!t
|t�rnd}|�|t�tj�|�rh|j|d�S|j|d�S|}|r�d	}|�|t�t
|t�r�|�|�|S|j|�|S)
NrT�
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)rrrrr r!�ctx�messagerrrrs<

��


�rc@sHeZdZdZefeeeed�ddd
�Zddd�Zddd�Zddd�ZdS)ra�
    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�pool�timeout�TimeoutTypes | UnsetTyper6�None | float | UnsetTyper7r8r9r�NonecCsdt|t�r/|tusJ�|tusJ�|tusJ�|tusJ�|j|_|j|_|j|_|j|_dSt|t�r]|d|_|d|_t|�dkrFdn|d|_t|�dkrVd|_dS|d|_dSt|t	�st|t	�st|t	�st|t	�s||_||_||_||_dSt|t	�r�t
d��t|t	�r�|n||_t|t	�r�|n||_t|t	�r�|n||_t|t	�r�|n||_dS)Nrr���zShttpx.Timeout must either include a default, or set all four parameters explicitly.)r,r�UNSETr6r7r8r9�tuple�lenr
�
ValueError)�selfr:r6r7r8r9rrr�__init__VsD
	


$����

�zTimeout.__init__�dict[str, float | None]cCs|j|j|j|jd�S)Nr5r5�rErrr�as_dict�s
�zTimeout.as_dict�other�
typing.AnyrcCs<t||j�o|j|jko|j|jko|j|jko|j|jkS�N)r,�	__class__r6r7r8r9�rErJrrr�__eq__�s
�
�
�
�zTimeout.__eq__r-c
Cs`|jj}t|j|j|j|jh�dkr|�d|j�d�S|�d|j�d|j�d|j�d|j�d�
S)Nrz	(timeout=�)z	(connect=z, read=z, write=z, pool=)rMrrCr6r7r8r9�rE�
class_namerrr�__repr__�s����zTimeout.__repr__N)r:r;r6r<r7r<r8r<r9r<rr=)rrG�rJrKrr�rr-)	rrr�__doc__rArFrIrOrSrrrrrHs��
.
	rc@s8eZdZdZdddd�ddd
�Zddd�Zddd�ZdS)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_expiryrY�
int | NonerZr[�float | Nonerr=cCs||_||_||_dSrLrX)rErYrZr[rrrrF�s
zLimits.__init__rJrKrcCs0t||j�o|j|jko|j|jko|j|jkSrL)r,rMrYrZr[rNrrrrO�s
�
�
�z
Limits.__eq__r-cCs*|jj}|�d|j�d|j�d|j�d�S)Nz(max_connections=z, max_keepalive_connections=z, keepalive_expiry=rP)rMrrYrZr[rQrrrrS�s���zLimits.__repr__)rYr\rZr\r[r]rr=rTrU)rrrrVrFrOrSrrrrr	�s�
r	c@s8eZdZdddd�dd
d�Zeddd��Zddd�ZdS)r
N)�ssl_context�auth�headers�url�	URL | strr^�ssl.SSLContext | Noner_�tuple[str, str] | Noner`�HeaderTypes | Nonerr=cCsjt|�}t|�}|jdvrtd|����|js|jr'|j|jf}|jddd�}||_||_||_	||_
dS)N)�http�https�socks5�socks5hzUnknown scheme for proxy URL )�username�password)rr�schemerDrjrk�	copy_withrar_r`r^)rErar^r_r`rrrrF�s

zProxy.__init__�tuple[bytes, bytes] | NonecCs.|jdurdS|jd�d�|jd�d�fS)Nrzutf-8r)r_�encoderHrrr�raw_auth�s

���zProxy.raw_authr-cCsd|jr
|jddfnd}t|j��}|rd|��nd}|jr&dt|j���nd}d|�|�|�d�S)Nrz********z, auth=�z
, headers=zProxy(rP)r_r-rar`�dict)rEr_�url_str�auth_str�headers_strrrrrS�s
zProxy.__repr__)
rarbr^rcr_rdr`rerr=)rrnrU)rrrrF�propertyrprSrrrrr
�s�r
rW)r:�d�)rYrZ)TNT)rrrrrrrr)�
__future__rr"�typing�_modelsr�_typesrrr�_urlsr�
TYPE_CHECKINGr�__all__r
rArrr	r
�DEFAULT_TIMEOUT_CONFIG�DEFAULT_LIMITS�DEFAULT_MAX_REDIRECTSrrrr�<module>s*�1W*
-