a
    ~`D                     @   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u 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)
    NFZhttpZhttpsT)ZschemeZuse_forwarding_for_https)Z	proxy_urlZproxy_configZdestination_scheme r   4/usr/lib/python3/dist-packages/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	   Zca_certsZca_cert_dirZca_cert_dataZssl_contextr   r   r   create_proxy_ssl_context%   s    r   )NNN)NNN)Zssl_r   r   r   r   r   r   r   r   r   <module>   s    
" 