a  ze@sdZddlZddlZddlZddlmZmZddl m Z ddl m Z ddl mZerdddlmZmZeeZGdd d ejjZdS) z#xmlrpclib.Transport implementation N) TYPE_CHECKINGTuple)NetworkConnectionError) PipSession)raise_for_status) _HostType _MarshallablecsJeZdZdZd eeeddfdd Zd deeee dd d d Z Z S)PipXmlrpcTransportzRProvide a `xmlrpclib.Transport` implementation via a `PipSession` object. FN) index_urlsession use_datetimereturncs*t|tj|}|j|_||_dS)N)super__init__urllibparseurlparsescheme_scheme_session)selfr r r Z index_parts __class__^/opt/bitninja-python-dojo/embedded/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.pyrs  zPipXmlrpcTransport.__init__r)r.)hosthandler request_bodyverboser c Cst|tsJ|j||dddf}tj|}z8ddi}|jj|||dd}t|||_ | |j WSt y} z*| j s~Jtd| j j|WYd} ~ n d} ~ 00dS)Nz Content-Typeztext/xmlT)dataheadersstreamzHTTP error %s while getting %s) isinstancestrrrr urlunparserpostrrparse_responserawrresponseloggercritical status_code) rrrrrpartsurlr r(excrrrrequest s,  zPipXmlrpcTransport.request)F)F) __name__ __module__ __qualname____doc__r#rboolrbytesrr/ __classcell__rrrrr s r )r3logging urllib.parser xmlrpc.clientZxmlrpctypingrrpip._internal.exceptionsrpip._internal.network.sessionrpip._internal.network.utilsrrr getLoggerr0r)client Transportr rrrrs