o �J�hc!�@s�ddlmZddlZddlZddlmZddlmZmZm Z ddl m Z ej 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�KC:\pinokio\api\whisper-webui.git\app\env\lib\site-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) NrTZ SSL_CERT_FILE)�cafileZ 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)rrrrrr�ctx�messagerrrr s<   �    �    �r c@sHeZdZdZefeeeed�dd d �Zddd�Zddd�Zddd�ZdS)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�pool�timeout�TimeoutTypes | UnsetTyper4�None | float | UnsetTyper5r6r7r�NonecCsdt|t�r/|tus J�|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 �UNSETr4r5r6r7�tuple�lenr � ValueError)�selfr8r4r5r6r7rrr�__init__VsD        $����  �zTimeout.__init__�dict[str, float | None]cCs|j|j|j|jd�S)Nr3r3�rCrrr�as_dict�s �zTimeout.as_dict�other� typing.AnyrcCs<t||j�o|j|jko|j|jko|j|jko|j|jkS�N)r*� __class__r4r5r6r7�rCrHrrr�__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=)rKrrAr4r5r6r7�rC� class_namerrr�__repr__�s����zTimeout.__repr__N) r8r9r4r:r5r:r6r:r7r:rr;)rrE�rHrIrr�rr+) rrr�__doc__r?rDrGrMrQrrrrr Hs�� .  r c@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_expiryrW� int | NonerXrY� float | Nonerr;cCs||_||_||_dSrJrV)rCrWrXrYrrrrD�s zLimits.__init__rHrIrcCs0t||j�o|j|jko|j|jko|j|jkSrJ)r*rKrWrXrYrLrrrrM�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=rN)rKrrWrXrYrOrrrrQ�s���zLimits.__repr__)rWrZrXrZrYr[rr;rRrS)rrrrTrDrMrQrrrrr �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�httpsZsocks5Zsocks5hzUnknown scheme for proxy URL )�username�password) rr�schemerBrfrg� copy_withr_r]r^r\)rCr_r\r]r^rrrrD�s    zProxy.__init__�tuple[bytes, bytes] | NonecCs.|jdurdS|jd�d�|jd�d�fS)Nrzutf-8r)r]�encoderFrrr�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(rN)r]r+r_r^�dict)rCr]Zurl_str�auth_strZ headers_strrrrrQ�s  zProxy.__repr__) r_r`r\rar]rbr^rcrr;)rrjrS)rrrrD�propertyrlrQrrrrr �s� r rU)r8�d�)rWrX)TNT)rrrrrrrr)� __future__rr �typing�_modelsr�_typesrrr�_urlsr� TYPE_CHECKINGr�__all__r r?r r r r �DEFAULT_TIMEOUT_CONFIG�DEFAULT_LIMITS�DEFAULT_MAX_REDIRECTSrrrr�<module>s*    �1W* - 
Memory