Ë
    As<g.  ã                   óÖ   — d Z ddlZddlZddlZddlmZmZ ddl	m
Z
 ddlmZ ddlmZ erddlmZmZ ddlmZ  ej&                  e«      Z G d	„ d
ej,                  j.                  «      Zy)z#xmlrpclib.Transport implementation
é    N)ÚTYPE_CHECKINGÚTuple)ÚNetworkConnectionError)Ú
PipSession)Úraise_for_status)Ú	_HostTypeÚ_Marshallable)ÚSizedBufferc                   ó^   ‡ — e Zd ZdZ	 ddedededdfˆ fd„Z	 ddd	d
edddeded   f
d„Z	ˆ xZ
S )ÚPipXmlrpcTransportzRProvide a `xmlrpclib.Transport` implementation via a `PipSession`
    object.
    Ú	index_urlÚsessionÚuse_datetimeÚreturnNc                 ó’   •— t         ‰|   |«       t        j                  j	                  |«      }|j
                  | _        || _        y )N)ÚsuperÚ__init__ÚurllibÚparseÚurlparseÚschemeÚ_schemeÚ_session)Úselfr   r   r   Úindex_partsÚ	__class__s        €úZ/home/kevstigneev/proxy/myenv/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.pyr   zPipXmlrpcTransport.__init__   s:   ø€ ô 	‰Ñ˜Ô&Ü—l‘l×+Ñ+¨IÓ6ˆØ"×)Ñ)ˆŒØˆó    Úhostr   ÚhandlerÚrequest_bodyr
   Úverbose)r	   .c                 óÀ  — t        |t        «      sJ ‚| j                  ||d d d f}t        j                  j                  |«      }	 ddi}| j                  j                  |||d¬«      }t        |«       || _	        | j                  |j                  «      S # t        $ r?}	|	j                  sJ ‚t        j                  d|	j                  j                   |«       ‚ d }	~	ww xY w)NzContent-Typeztext/xmlT)ÚdataÚheadersÚstreamzHTTP error %s while getting %s)Ú
isinstanceÚstrr   r   r   Ú
urlunparser   Úpostr   r"   Úparse_responseÚrawr   ÚresponseÚloggerÚcriticalÚstatus_code)
r   r   r    r!   r"   ÚpartsÚurlr%   r-   Úexcs
             r   ÚrequestzPipXmlrpcTransport.request"   sØ   € ô ˜$¤Ô$Ð$Ð$Ø—‘˜t W¨d°D¸$Ð?ˆÜl‰l×%Ñ% eÓ,ˆð	Ø% zÐ2ˆGØ—}‘}×)Ñ)ØØ!ØØð	 *ó ˆHô ˜XÔ&Ø"ˆDŒLØ×&Ñ& x§|¡|Ó4Ð4øÜ%ò 	Ø—<’<Ð<ÜO‰OØ0Ø—‘×(Ñ(Øôð
 ûð	ús   ÁAB Â	CÂ:CÃC)F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r(   r   Úboolr   r   r4   Ú__classcell__)r   s   @r   r   r      st   ø„ ñð
 INñ Øð Ø'1ð ØAEð à	õ ð ñàðð ðð $ð	ð
 ðð 
Ð#Ñ	$÷r   r   )r8   ÚloggingÚurllib.parser   Úxmlrpc.clientÚxmlrpcÚtypingr   r   Úpip._internal.exceptionsr   Úpip._internal.network.sessionr   Úpip._internal.network.utilsr   r   r	   Ú	_typeshedr
   Ú	getLoggerr5   r.   ÚclientÚ	Transportr   © r   r   ú<module>rH      sR   ðñó Û Û ß 'å ;Ý 4Ý 8áß6å%à	ˆ×	Ñ	˜8Ó	$€ô)˜Ÿ™×0Ñ0õ )r   