
    t                         S SK rS SKrS SKJr  SSKJr  S SKrS SKr\R                  R                  r
 " S S\R                  R                  5      r " S S\R                  R                  5      r " S	 S
\5      rg)    N)BaseHTTPAdapter   )	constantsc                   2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )UnixHTTPConnection   c                 F   > [         TU ]  SUS9  Xl        X l        X0l        g )N	localhost)timeout)super__init__base_urlunix_socketr   )selfr   r   r   	__class__s       ,lib/third_party/docker/transport/unixconn.pyr   UnixHTTPConnection.__init__   ,     	 	
 !&    c                     [         R                   " [         R                  [         R                  5      nUR                  U R                  5        UR                  U R                  5        Xl        g N)socketAF_UNIXSOCK_STREAM
settimeoutr   connectr   sock)r   r   s     r   r   UnixHTTPConnection.connect   sC    }}V^^V-?-?@%T%%&	r   )r   r   r   r   )<   )__name__
__module____qualname____firstlineno__r   r   __static_attributes____classcell__r   s   @r   r   r      s     r   r   c                   2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )UnixHTTPConnectionPool   c                 F   > [         TU ]  SX4S9  Xl        X l        X0l        g )Nr
   )r   maxsize)r   r   r   socket_pathr   )r   r   r,   r   r+   r   s        r   r   UnixHTTPConnectionPool.__init__    r   r   c                 X    [        U R                  U R                  U R                  5      $ r   )r   r   r,   r   )r   s    r   	_new_conn UnixHTTPConnectionPool._new_conn(   s$    !MM4++T\\
 	
r   )r   r,   r   )r   
   )r    r!   r"   r#   r   r/   r$   r%   r&   s   @r   r(   r(      s    
 
r   r(   c                      ^  \ rS rSr\R
                  R                  R                  / SQ-   rS\R                  \R                  4U 4S jjrSS jrS rSrU =r$ )	UnixHTTPAdapter.   )poolsr,   r   max_pool_sizer   c                    > UR                  SS5      nUR                  S5      (       d  SU-   nXPl        X l        X@l        [        US S9U l        [        TU ]!  5         g )Nzhttp+unix:// /c                 "    U R                  5       $ r   )close)ps    r   <lambda>*UnixHTTPAdapter.__init__.<locals>.<lambda>?   s
    QWWYr   )dispose_func)	replace
startswithr,   r   r6   RecentlyUsedContainerr5   r   r   )r   
socket_urlr   pool_connectionsr6   r,   r   s         r   r   UnixHTTPAdapter.__init__5   sb     !((<%%c**+K&**+>

 	r   c                 0   U R                   R                     U R                   R                  U5      nU(       a  UsS S S 5        $ [        XR                  U R
                  U R                  S9nX0R                   U'   S S S 5        U$ ! , (       d  f       W$ = f)N)r+   )r5   lockgetr(   r,   r   r6   )r   urlproxiespools       r   get_connectionUnixHTTPAdapter.get_connectionC   sx    ZZ__::>>#&D _
 *%%t||**D #JJsO   _ s   $B7B
Bc                     UR                   $ r   )path_url)r   requestrJ   s      r   request_urlUnixHTTPAdapter.request_urlQ   s     r   )r6   r5   r,   r   r   )r    r!   r"   r#   requestsadaptersHTTPAdapter	__attrs__r   DEFAULT_NUM_POOLSDEFAULT_MAX_POOL_SIZEr   rL   rQ   r$   r%   r&   s   @r   r3   r3   .   sQ    !!--77 ;L LI
 ,."+"="=(>>   r   r3   )requests.adaptersrS   r    docker.transport.basehttpadapterr   r8   r   urllib3urllib3.connection_collectionsrB   
connectionHTTPConnectionr   connectionpoolHTTPConnectionPoolr(   r3    r   r   <module>rc      sg      <     ,,BB ++:: "
W33FF 
) o ) r   