Current File : //lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc
U

��.e=�@sPdZddlZddlmZddlmZddlmZe�	e
�ZGdd�dej�Z
dS)z#xmlrpclib.Transport implementation
�N)�requests)�
xmlrpc_client)�parsec@s$eZdZdZddd�Zd	dd�ZdS)
�PipXmlrpcTransportzRProvide a `xmlrpclib.Transport` implementation via a `PipSession`
    object.
    FcCs*tj�||�t�|�}|j|_||_dS)N)r�	Transport�__init__�urllib_parseZurlparseZscheme�_scheme�_session)�selfZ	index_urlZsessionZuse_datetimeZindex_parts�r�@/usr/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.pyrs
zPipXmlrpcTransport.__init__c

Cs�|j||dddf}t�|�}z8ddi}|jj|||dd�}|��||_|�|j�WSt	j
k
r�}	zt�d|	j
j|��W5d}	~	XYnXdS)NzContent-Typeztext/xmlT)�data�headers�streamzHTTP error %s while getting %s)r	rZ
urlunparser
ZpostZraise_for_status�verboseZparse_response�rawrZ	HTTPError�loggerZcritical�responseZstatus_code)
rZhostZhandlerZrequest_bodyr�partsZurlrr�excrrr
�requests$

��zPipXmlrpcTransport.requestN)F)F)�__name__�
__module__�__qualname__�__doc__rrrrrr
rs
r)rZloggingZpip._vendorrZpip._vendor.six.movesrZpip._vendor.six.moves.urllibrrZ	getLoggerrrrrrrrr
�<module>s