U
    M8cE                     @   s,   d dl mZmZmZ dddZdddZdS )	   )create_urllib3_contextresolve_cert_reqsresolve_ssl_versionNc                 C   s4   | dkrdS |dkrdS | j dkr0|r0|jr0dS dS )a?  
    Returns True if the connection requires an HTTP CONNECT through the proxy.

    :param URL proxy_url:
        URL of the proxy.
    :param ProxyConfig proxy_config:
        Proxy configuration from poolmanager.py
    :param str destination_scheme:
        The scheme of the destination. (i.e https, http, etc)
    NFhttphttpsT)schemeZuse_forwarding_for_https)	proxy_urlZproxy_configZdestination_scheme r	   6/tmp/pip-unpacked-wheel-1wxsa54m/urllib3/util/proxy.pyconnection_requires_http_tunnel   s    r   c                 C   s6   t t| t|d}|s2|s2|s2t|dr2|  |S )z\
    Generates a default proxy ssl context if one hasn't been provided by the
    user.
    )ssl_version	cert_reqsload_default_certs)r   r   r   hasattrr   )r   r   ca_certsca_cert_dirZca_cert_datassl_contextr	   r	   r
   create_proxy_ssl_context%   s    r   )NNN)NNN)ssl_r   r   r   r   r   r	   r	   r	   r
   <module>   s        
"     