Current File : //lib/python3.9/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-39.pyc
a

[��f��@s�dZddlZddlZddlZddlmZmZddl	m
Z
ddlmZddl
mZerdddlmZmZe�e�ZGdd	�d	ejj�ZdS)
z#xmlrpclib.Transport implementation
�N)�
TYPE_CHECKING�Tuple)�NetworkConnectionError)�
PipSession)�raise_for_status)�	_HostType�
_MarshallablecsJeZdZdZdeeedd��fdd�
Zd
deeee	dd	�d
d�Z
�ZS)�PipXmlrpcTransportzRProvide a `xmlrpclib.Transport` implementation via a `PipSession`
    object.
    FN)�	index_url�session�use_datetime�returncs*t��|�tj�|�}|j|_||_dS)N)�super�__init__�urllib�parse�urlparse�scheme�_scheme�_session)�selfr
rrZindex_parts��	__class__��@/usr/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.pyrszPipXmlrpcTransport.__init__r)r.)�host�handler�request_body�verboser
c

Cs�t|t�sJ�|j||dddf}tj�|�}z8ddi}|jj|||dd�}t|�||_	|�
|j�WSty�}	z*|	j
s~J�t�d|	j
j|��WYd}	~	n
d}	~	00dS)NzContent-Typeztext/xmlT)�data�headers�streamzHTTP error %s while getting %s)�
isinstance�strrrr�
urlunparserZpostrrZparse_response�rawr�response�loggerZcriticalZstatus_code)
rrrrr�parts�urlr r&�excrrr�request s,�
�zPipXmlrpcTransport.request)F)F)�__name__�
__module__�__qualname__�__doc__r#r�boolr�bytesrr+�
__classcell__rrrrr	s��
��r	)r/Zlogging�urllib.parserZ
xmlrpc.clientZxmlrpc�typingrrZpip._internal.exceptionsrZpip._internal.network.sessionrZpip._internal.network.utilsrrrZ	getLoggerr,r'ZclientZ	Transportr	rrrr�<module>s