File: //usr/lib/python3.9/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-39.pyc
a
?�fZ � @ s� d Z ddlZddlmZ ddlmZ ddlmZ ddl m
Z
ddlmZ erdddl
mZ dd lmZ e�e�ZG d
d� dej�ZdS )z#xmlrpclib.Transport implementation
� N)�
xmlrpc_client)�parse)�NetworkConnectionError)�raise_for_status)�MYPY_CHECK_RUNNING)�Dict)�
PipSessionc @ s$ e Zd ZdZddd�Zd dd�ZdS )
�PipXmlrpcTransportzRProvide a `xmlrpclib.Transport` implementation via a `PipSession`
object.
Fc C s* t j�| |� t�|�}|j| _|| _d S )N)r � Transport�__init__�urllib_parse�urlparse�scheme�_scheme�_session)�selfZ index_urlZsessionZuse_datetimeZindex_parts� r �@/usr/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.pyr s
zPipXmlrpcTransport.__init__c
C s� | j ||d d d f}t�|�}z8ddi}| jj|||dd�}t|� || _| �|j�W S t y� } z*| j
snJ �t�d| j
j
|� � W Y d } ~ n
d } ~ 0 0 d S )NzContent-Typeztext/xmlT)�data�headers�streamzHTTP error %s while getting %s)r r �
urlunparser Zpostr �verboseZparse_response�rawr �response�loggerZcriticalZstatus_code)
r �hostZhandlerZrequest_bodyr �parts�urlr r �excr r r �request# s"