3
”ReZ ã @ s„ d Z ddlZddlmZ ddlmZ ddlmZ ddl m
Z
ddlmZ erdddl
mZ dd lmZ ejeƒ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 jj| |ƒ tj|ƒ}|j| _|| _d S )N)r Ú TransportÚ__init__Úurllib_parseÚurlparseÚschemeÚ_schemeÚ_session)ÚselfÚ index_urlÚsessionÚuse_datetimeZindex_parts© r ú‹/builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/network/xmlrpc.pyr s
zPipXmlrpcTransport.__init__c
C s˜ | j ||d d d f}tj|ƒ}y6ddi}| jj|||dd�}t|ƒ || _| j|jƒS t k
r’ } z$| j
snt‚tj
d| j
j|ƒ ‚ W Y d d } ~ X nX d S )NzContent-Typeztext/xmlT)ÚdataÚheadersÚstreamzHTTP error %s while getting %s)r r Ú
urlunparser Úpostr ÚverboseÚparse_responseÚrawr ÚresponseÚAssertionErrorÚloggerÚcriticalÚstatus_code)
r ÚhostÚhandlerÚrequest_bodyr ÚpartsÚurlr r Úexcr r r Úrequest# s
zPipXmlrpcTransport.requestN)F)F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r r* r r r r r s
r )r. ÚloggingÚpip._vendor.six.movesr Zpip._vendor.six.moves.urllibr r Úpip._internal.exceptionsr Úpip._internal.network.utilsr Úpip._internal.utils.typingr Útypingr Úpip._internal.network.sessionr Ú getLoggerr+ r! r
r r r r r Ú