
    |                     v    S r SSKJr  SSKJr  SSKJr  SSKr\R                  R                  r	 " S S\5      r
g)zResolves OpenSSL issues in some servers:
https://lukasa.co.uk/2013/01/Choosing_SSL_Version_In_Requests/
https://github.com/kennethreitz/requests/pull/799
    )Version)HTTPAdapter)BaseHTTPAdapterNc                   r   ^  \ rS rSrSr\R                  / SQ-   r  S	U 4S jjrS
S jrU 4S jr	S r
SrU =r$ )SSLHTTPAdapter   z>An HTTPS Transport Adapter that uses an arbitrary SSL version.)assert_fingerprintassert_hostnamessl_versionc                 J   > Xl         X l        X0l        [        TU ]  " S0 UD6  g )N )r   r
   r	   super__init__)selfr   r
   r	   kwargs	__class__s        .lib/third_party/docker/transport/ssladapter.pyr   SSLHTTPAdapter.__init__   s%    &."4"6"    c                     UUUU R                   U R                  S.nU R                  (       a$  U R                  5       (       a  U R                  US'   [	        S0 UD6U l        g )N)	num_poolsmaxsizeblockr
   r	   r   r   )r
   r	   r   can_override_ssl_versionPoolManagerpoolmanager)r   connectionsr   r   r   s        r   init_poolmanagerSSLHTTPAdapter.init_poolmanager   s]    $#33"&"9"9
  = = ? ?$($4$4F=!&00r   c                 ~   > [         TU ]  " U0 UD6nUR                  U R                  :w  a  U R                  Ul        U$ )z
Ensure assert_hostname is set correctly on our pool

We already take care of a normal poolmanager via init_poolmanager

But we still need to take care of when there is a proxy poolmanager
)r   get_connectionr
   )r   argsr   connr   s       r   r!   SSLHTTPAdapter.get_connection+   s@     w%t6v64#7#77#'#7#7D r   c                     [         R                  R                  S5      S   nUc  gUS:X  a  g[        U5      [        S5      :  $ )N-r   FdevTz1.5)urllib3__version__splitr   )r   
urllib_vers     r   r   'SSLHTTPAdapter.can_override_ssl_version8   sE    ((..s3A6
z"WU^33r   )r	   r
   r   r   )NNN)F)__name__
__module____qualname____firstlineno____doc__r   	__attrs__r   r   r!   r   __static_attributes____classcell__)r   s   @r   r   r      s<    H%% )8 8I :>$(#14 4r   r   )r1   packaging.versionr   requests.adaptersr    docker.transport.basehttpadapterr   r(   r   r   r   r   r   r   <module>r8      s7    & ) <  !!--.4_ .4r   