a
ljE @ s, d dl mZmZmZ dddZdddZdS ) )create_urllib3_contextresolve_cert_reqsresolve_ssl_versionNc C s4 | du rdS |dkrdS | j dkr0|r0|jr0dS dS )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)
NFhttphttpsT)schemeZuse_forwarding_for_https)Z proxy_urlZproxy_configZdestination_scheme r B/usr/lib/python3.9/site-packages/pip/_vendor/urllib3/util/proxy.pyconnection_requires_http_tunnel s r
c C s6 t t| t|d}|s2|s2|s2t|dr2| |S )z\
Generates a default proxy ssl context if one hasn't been provided by the
user.
)ssl_version cert_reqsload_default_certs)r r r hasattrr
)r r Zca_certsZca_cert_dirZca_cert_dataZssl_contextr r r create_proxy_ssl_context% s r )NNN)NNN)Zssl_r r r r
r r r r r