U .e=@sPdZddlZddlmZddlmZddlmZe e Z Gdddej Z dS)z#xmlrpclib.Transport implementation N)requests) xmlrpc_client)parsec@s$eZdZdZdddZd ddZdS) PipXmlrpcTransportzRProvide a `xmlrpclib.Transport` implementation via a `PipSession` object. FcCs*tj||t|}|j|_||_dS)N)r Transport__init__ urllib_parseZurlparseZscheme_scheme_session)selfZ index_urlZsessionZ use_datetimeZ index_partsr @/usr/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.pyrs zPipXmlrpcTransport.__init__c Cs|j||dddf}t|}z8ddi}|jj|||dd}|||_||jWSt j k r} zt d| j j|W5d} ~ XYnXdS)Nz Content-Typeztext/xmlT)dataheadersstreamzHTTP error %s while getting %s)r rZ urlunparser ZpostZraise_for_statusverboseZparse_responserawrZ HTTPErrorloggerZcriticalresponseZ status_code) r ZhostZhandlerZ request_bodyrpartsZurlrrexcr r r requests$  zPipXmlrpcTransport.requestN)F)F)__name__ __module__ __qualname____doc__rrr r r r rs r)rZloggingZ pip._vendorrZpip._vendor.six.movesrZpip._vendor.six.moves.urllibrrZ getLoggerrrrrr r r r s