
    *,h                         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  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_Marshallablec                   ^     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e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        ^/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.pyr   zPipXmlrpcTransport.__init__   s:     	&ll++I6"))    hostr   handlerrequest_body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     $$$tWdD$?ll%%e,	%z2G}}))!	 * H X&"DL&&x||44% 	<<OO0((
 	s   AB 	C:CC)F)__name__
__module____qualname____doc__r'   r   boolr   bytesr   r3   __classcell__)r   s   @r   r   r      st    
 IN  '1 AE 	    	
  
#	$r   r   )r7   loggingurllib.parser   xmlrpc.clientxmlrpctypingr   r   pip._internal.exceptionsr   pip._internal.network.sessionr   pip._internal.network.utilsr   r   r	   	getLoggerr4   r-   client	Transportr    r   r   <module>rG      sO       ' ; 4 86			8	$)00 )r   