a
lj @ 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__ @/usr/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.pyr s zPipXmlrpcTransport.__init__r )r .)hosthandlerrequest_bodyverboser
c
C s | j ||d d d f}tj|}z8ddi}| jj|||dd}t| || _| |j W S t
y } z td| j
j| W Y d } ~ n
d } ~ 0 0 d S )NzContent-Typeztext/xmlT)dataheadersstreamzHTTP error %s while getting %s)r r r
urlunparser Zpostr r Zparse_responserawr loggerZcriticalresponseZstatus_code)
r r r r r partsurlr r% excr r r request s( zPipXmlrpcTransport.request)F)F)__name__
__module____qualname____doc__strr boolr bytesr r)
__classcell__r r r r r s
r )r- Zloggingurllib.parser Z
xmlrpc.clientZxmlrpctypingr r Zpip._internal.exceptionsr Zpip._internal.network.sessionr Zpip._internal.network.utilsr r r Z getLoggerr* r$ ZclientZ Transportr r r r r