U
    Ú²g  ã                   @  sÌ   d dl mZ d dlZddlmZ ddlmZmZ ddlm	Z	 ej
eejej eje ef ZG dd„ dejƒZG d	d
„ d
ejƒZejrÈd dlZd dlmZ ddlmZ G dd„ deƒZG dd„ deeƒZdS )é    )ÚannotationsNé   )Ú_TYPE_SOCKET_OPTIONS)Ú_DEFAULT_TIMEOUTÚ_TYPE_TIMEOUT)ÚUrlc                   @  s.   e Zd ZU ded< ded< ded< ded< d	S )
ÚProxyConfigússl.SSLContext | NoneÚssl_contextÚboolZuse_forwarding_for_httpsú"None | str | typing.Literal[False]Úassert_hostnameú
str | NoneÚassert_fingerprintN©Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© r   r   ú</tmp/pip-unpacked-wheel-iesne49d/urllib3/_base_connection.pyr      s   
r   c                   @  s6   e Zd ZU ded< ded< ded< ded< ded< dS )	Ú_ResponseOptionsÚstrÚrequest_methodÚrequest_urlr   Úpreload_contentÚdecode_contentÚenforce_content_lengthNr   r   r   r   r   r      s
   
r   )ÚProtocol)ÚBaseHTTPResponsec                   @  sB  e Zd ZU ded< ded< ded< ded< d	ed
< ded< ded< ded< ded< ded< ded< ded< d<eddddddœddddddddddœ	d d!„Zd=ddd#ddd$œd%d&„Zdd'œd(d)„Zd>d*d+d+d+d,œddd-d#dddddd.œ	d/d0„Zd1d'œd2d3„Z	dd'œd4d5„Z
edd'œd6d7„ƒZedd'œd8d9„ƒZedd'œd:d;„ƒZdS )?ÚBaseHTTPConnectionútyping.ClassVar[int]Údefault_portú%typing.ClassVar[_TYPE_SOCKET_OPTIONS]Údefault_socket_optionsr   ÚhostÚintÚportzNone | floatÚtimeoutÚ	blocksizeútuple[str, int] | NoneÚsource_addressú_TYPE_SOCKET_OPTIONS | NoneÚsocket_optionsú
Url | NoneÚproxyúProxyConfig | NoneÚproxy_configr   Úis_verifiedzbool | NoneZproxy_is_verifiedNi    .)r(   r+   r)   r-   r/   r1   ú
int | Noner   ÚNone)	r%   r'   r(   r+   r)   r-   r/   r1   Úreturnc          	      C  s   d S ©Nr   )	Úselfr%   r'   r(   r+   r)   r-   r/   r1   r   r   r   Ú__init__6   s    zBaseHTTPConnection.__init__Úhttpztyping.Mapping[str, str] | None)r%   r'   ÚheadersÚschemer5   c                 C  s   d S r6   r   )r7   r%   r'   r:   r;   r   r   r   Ú
set_tunnelD   s    zBaseHTTPConnection.set_tunnel)r5   c                 C  s   d S r6   r   ©r7   r   r   r   ÚconnectM   s    zBaseHTTPConnection.connectFT)Úchunkedr   r   r   z_TYPE_BODY | None)	ÚmethodÚurlÚbodyr:   r?   r   r   r   r5   c          	      C  s   d S r6   r   )	r7   r@   rA   rB   r:   r?   r   r   r   r   r   r   ÚrequestP   s    zBaseHTTPConnection.requestr   c                 C  s   d S r6   r   r=   r   r   r   Úgetresponsea   s    zBaseHTTPConnection.getresponsec                 C  s   d S r6   r   r=   r   r   r   Úclosed   s    zBaseHTTPConnection.closec                 C  s   dS )zÛWhether the connection either is brand new or has been previously closed.
            If this property is True then both ``is_connected`` and ``has_connected_to_proxy``
            properties must be False.
            Nr   r=   r   r   r   Ú	is_closedg   s    zBaseHTTPConnection.is_closedc                 C  s   dS )zLWhether the connection is actively connected to any origin (proxy or target)Nr   r=   r   r   r   Úis_connectedn   s    zBaseHTTPConnection.is_connectedc                 C  s   dS )zøWhether the connection has successfully connected to its proxy.
            This returns False if no proxy is in use. Used to determine whether
            errors are coming from the proxy layer or from tunnelling to the target origin.
            Nr   r=   r   r   r   Úhas_connected_to_proxyr   s    z)BaseHTTPConnection.has_connected_to_proxy)N)NNr9   )NN)r   r   r   r   r   r8   r<   r>   rC   rD   rE   ÚpropertyrF   rG   rH   r   r   r   r   r    #   sT   
 ýö"   û	  û
ó"r    c                   @  sî   e Zd ZU ded< ded< ded< ded< d	ed
< ded< d	ed< d	ed< ded< ded< ded< ded< d	ed< d	ed< d	ed< d'eddddddddddddddddddddœdddddd d!d"ddd	d	dd	d	ddddd	d	d	d#d$œd%d&„ZdS )(ÚBaseHTTPSConnectionr!   r"   r#   r$   zint | str | NoneÚ	cert_reqsr   r   r   r   r	   r
   Úca_certsÚca_cert_dirzNone | str | bytesÚca_cert_datar3   Ússl_minimum_versionÚssl_maximum_versionÚssl_versionÚ	cert_fileÚkey_fileÚkey_passwordNi @  .)r(   r+   r)   r-   r/   r1   rK   r   r   Úserver_hostnamer
   rL   rM   rN   rO   rP   rQ   rR   rS   rT   r   r   r*   r&   r,   r.   r0   r4   )r%   r'   r(   r+   r)   r-   r/   r1   rK   r   r   rU   r
   rL   rM   rN   rO   rP   rQ   rR   rS   rT   r5   c                C  s   d S r6   r   )r7   r%   r'   r(   r+   r)   r-   r/   r1   rK   r   r   rU   r
   rL   rM   rN   rO   rP   rQ   rR   rS   rT   r   r   r   r8   ’   s    zBaseHTTPSConnection.__init__)N)r   r   r   r   r   r8   r   r   r   r   rJ   y   sL   
 ýèrJ   )Ú
__future__r   ÚtypingZutil.connectionr   Zutil.timeoutr   r   Zutil.urlr   ÚUnionÚbytesÚIOÚAnyÚIterabler   Z
_TYPE_BODYÚ
NamedTupler   r   ÚTYPE_CHECKINGÚsslr   Úresponser   r    rJ   r   r   r   r   Ú<module>   s    
V