7Rec@sddlZddlZddlmZyddlmZmZWn(ek rlddl mZmZYnXGddde Z ytdZ e ZGdddeZyddlmZWn"ek rddl mZYnXddl Z e jZWneefk rYnXd d lmZd d lmZd d lmZd d lmZmZmZmZidd6dd6ZGdddee ZGdddeZGdddeZ e reZ!e ZndS(iN(utimeout(uHTTPConnectionu HTTPExceptioncBs|EeZdZdZdS(uDummyConnectionu-Used to detect a failed ConnectionCls import.N(u__name__u __module__u __qualname__u__doc__(u __locals__((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyuDummyConnectionsuDummyConnectioncBs|EeZdZdS(u BaseSSLErrorN(u__name__u __module__u __qualname__(u __locals__((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyu BaseSSLErrorsu BaseSSLError(uHTTPSConnectioni(uConnectTimeoutError(umatch_hostname(usix(uassert_fingerprinturesolve_cert_reqsuresolve_ssl_versionussl_wrap_socketiPuhttpiuhttpscBsZ|EeZdZdZedZdZddZddZdd Z d d Z d S( uHTTPConnectionu Based on httplib.HTTPConnection but provides an extra constructor backwards-compatibility layer between older and newer Pythons. uhttpicOsgtjr|jddntjdkr>|jddn|jd|_tj |||dS(Nustrictiiusource_address(ii( usixuPY3upopuNoneusysu version_infougetusource_addressu_HTTPConnectionu__init__(uselfuargsukw((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyu__init__Ds  uHTTPConnection.__init__cCsfg}|jr"|j|jntj|j|jf|j|}|jtjtj |j |S(uq Establish a socket connection and set nodelay settings on it. :return: a new socket connection ( usource_addressuappendusocketucreate_connectionuhostuportutimeoutu setsockoptu IPPROTO_TCPu TCP_NODELAYu tcp_nodelay(uselfu extra_argsuconn((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyu _new_connPs uHTTPConnection._new_conncCs,||_t|ddr(|jndS(Nu _tunnel_host(usockugetattruNoneu_tunnel(uselfuconn((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyu _prepare_conn`s uHTTPConnection._prepare_conncCs|j}|j|dS(N(u _new_connu _prepare_conn(uselfuconn((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyuconnectis uHTTPConnection.connectN( u__name__u __module__u __qualname__u__doc__uport_by_schemeu default_portu tcp_nodelayu__init__u _new_connu _prepare_connuconnect(u __locals__((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyuHTTPConnection9s   uHTTPConnectioncBsH|EeZdZedZddddejddZddZ dS(uHTTPSConnectionuhttpsc KsAtj|||d|d||||_||_d|_dS(Nustrictutimeoutuhttps(uHTTPConnectionu__init__ukey_fileu cert_fileu _protocol(uselfuhostuportukey_fileu cert_fileustrictutimeoutukw((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyu__init__qs    uHTTPSConnection.__init__cCs;|j}|j|tj||j|j|_dS(N(u _new_connu _prepare_connusslu wrap_socketukey_fileu cert_fileusock(uselfuconn((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyuconnect~s  uHTTPSConnection.connectN( u__name__u __module__u __qualname__uport_by_schemeu default_portuNoneusocketu_GLOBAL_DEFAULT_TIMEOUTu__init__uconnect(u __locals__((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyuHTTPSConnectionns   uHTTPSConnectioncBs\|EeZdZdZdZdZdZiZddddddddZ ddZ dS(uVerifiedHTTPSConnectionu[ Based on httplib.HTTPSConnection but wraps the socket with SSL certification. cCs:||_||_||_||_||_||_dS(N(ukey_fileu cert_fileu cert_reqsuca_certsuassert_hostnameuassert_fingerprint(uselfukey_fileu cert_fileu cert_reqsuca_certsuassert_hostnameuassert_fingerprint((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyuset_certs      u VerifiedHTTPSConnection.set_certcCsy1tjd|j|jfd|j|j}Wn1tk rdt|d|j|jfYnX|jtj tj |j t |j }t|j}|j}t|ddr||_|j|j}nt||j|jd|d|jd|d||_|tjkr}|jrIt|jjd d |jq}|jd k r}t |jj|jps|q}ndS( Nuaddressutimeoutu0Connection to %s timed out. (connect timeout=%s)u _tunnel_hostu cert_reqsuca_certsuserver_hostnameu ssl_versionu binary_formTF(!usocketucreate_connectionuhostuportutimeoutuconn_kwu SocketTimeoutuConnectTimeoutErroru setsockoptu IPPROTO_TCPu TCP_NODELAYu tcp_nodelayuresolve_cert_reqsu cert_reqsuresolve_ssl_versionu ssl_versionugetattruNoneusocku_tunnelu _tunnel_hostussl_wrap_socketukey_fileu cert_fileuca_certsusslu CERT_NONEuassert_fingerprintu getpeercertuTrueuassert_hostnameuFalseumatch_hostname(uselfusockuresolved_cert_reqsuresolved_ssl_versionuhostname((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyuconnects:           uVerifiedHTTPSConnection.connectN( u__name__u __module__u __qualname__u__doc__uNoneu cert_reqsuca_certsu ssl_versionuconn_kwuset_certuconnect(u __locals__((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyuVerifiedHTTPSConnections uVerifiedHTTPSConnection("usysusocketutimeoutu SocketTimeoutu http.clientuHTTPConnectionu_HTTPConnectionu HTTPExceptionu ImportErroruhttplibuobjectuDummyConnectionuNoneussluHTTPSConnectionu BaseExceptionu BaseSSLErroru_HTTPSConnectionuSSLErroruAttributeErroru exceptionsuConnectTimeoutErrorupackages.ssl_match_hostnameumatch_hostnameupackagesusixuutiluassert_fingerprinturesolve_cert_reqsuresolve_ssl_versionussl_wrap_socketuport_by_schemeuVerifiedHTTPSConnectionuUnverifiedHTTPSConnection(((uI/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/connection.pyus@      " 5E