3 ”ReZã@s„dZddlZddlmZddlmZddlmZddl m Z ddl m Z e rdddl mZdd lmZejeƒZGd d „d ejƒZdS) z#xmlrpclib.Transport implementation éN)Ú xmlrpc_client)Úparse)ÚNetworkConnectionError)Úraise_for_status)ÚMYPY_CHECK_RUNNING)ÚDict)Ú PipSessionc@s$eZdZdZddd„Zd dd„ZdS) ÚPipXmlrpcTransportzRProvide a `xmlrpclib.Transport` implementation via a `PipSession` object. FcCs*tjj||ƒtj|ƒ}|j|_||_dS)N)rÚ TransportÚ__init__Ú urllib_parseÚurlparseÚschemeÚ_schemeÚ_session)ÚselfÚ index_urlÚsessionÚ use_datetimeZ index_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 Cs˜|j||dddf}tj|ƒ}y6ddi}|jj|||dd�}t|ƒ||_|j|jƒSt k r’} z$| j snt ‚t j d| j j|ƒ‚WYdd} ~ XnXdS)Nz Content-Typeztext/xmlT)ÚdataÚheadersÚstreamzHTTP error %s while getting %s)rr Ú urlunparserÚpostrÚverboseÚparse_responseÚrawrÚresponseÚAssertionErrorÚloggerÚcriticalÚ status_code) rÚhostÚhandlerÚ request_bodyrÚpartsÚurlrrÚexcrrrÚrequest#s      zPipXmlrpcTransport.requestN)F)F)Ú__name__Ú __module__Ú __qualname__Ú__doc__r r*rrrrr s r )r.ÚloggingÚpip._vendor.six.movesrZpip._vendor.six.moves.urllibrr Úpip._internal.exceptionsrÚpip._internal.network.utilsrÚpip._internal.utils.typingrÚtypingrÚpip._internal.network.sessionrÚ getLoggerr+r!r r rrrrÚs