U
ʗRe @ s d Z ddlZddlZddlZddlmZmZ ddl m
Z
ddlmZ ddl
mZ erdddlmZmZ eeZG dd d ejjZdS )
z#xmlrpclib.Transport implementation
N)
TYPE_CHECKINGTuple)NetworkConnectionError)
PipSession)raise_for_status) _HostType
_Marshallablec sJ e Zd ZdZdeeedd fdd
Zd
deeee d d d
dZ
ZS )PipXmlrpcTransportzRProvide a `xmlrpclib.Transport` implementation via a `PipSession`
object.
FN) index_urlsessionuse_datetimereturnc s* t | tj|}|j| _|| _d S )N)super__init__urllibparseurlparsescheme_scheme_session)selfr
r r Zindex_parts __class__ /builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.pyr s zPipXmlrpcTransport.__init__r )r .)hosthandlerrequest_bodyverboser
c
C s t |tst| j||d d d f}tj|}z8ddi}| jj|||dd}t | || _
| |jW S t
k
r } z"| jsttd| jj| W 5 d } ~ X Y nX d S )NzContent-Typeztext/xmlT)dataheadersstreamzHTTP error %s while getting %s)
isinstancestrAssertionErrorr r r
urlunparser postr r parse_responserawr responseloggercriticalstatus_code)
r r r r r partsurlr r) excr r r request s,
zPipXmlrpcTransport.request)F)F)__name__
__module____qualname____doc__r# r boolr bytesr r0
__classcell__r r r r r s
r )r4 loggingurllib.parser
xmlrpc.clientZxmlrpctypingr r pip._internal.exceptionsr pip._internal.network.sessionr pip._internal.network.utilsr r r getLoggerr1 r* client Transportr r r r r