3 y=jB@shdZddljZddlmZmZmZmZddl m Z Gddde Z Gdddej Zd d Zd d ZdS) z13.0.5-1.module_el8.10.0+7087+bd4dfabe.cloudlinux-N)urlparse urlunparse splittype splithost) transportsc@s eZdZdS)MalformedURIErrorN)__name__ __module__ __qualname__r r /usr/lib/python3.6/rpclib.pyr srcsReZdZdZdfdd ZddZdd Zd d Zd d ZddZ ddZ Z S)Servera uri [,options] -> a logical connection to an XML-RPC server uri is the connection point on the server, given as scheme://host/target. If the target part and the slash preceding it are both omitted, "/RPC2" is assumed. The following options can be given as keyword arguments: transport: a transport factory verbose: verbosity level proxy: use an HTTP proxy username: username for authenticated HTTP proxy password: password for authenticated HTTP proxy Nrc sL|jd}|dkr,tj|||j|||d}|j|tj|||ddS)Nhttps) use_httpstimeoutproxy)verbose) startswithrZRequestsTransport get_proxy_uri_reset_host_handler_and_typesuper__init__) selfuriZ transportrrZusernameZpasswordrr) __class__r r r7s  zServer.__init__c Cs|dkr dSd}d|kr8|jd\}}}|jdkr8d}td||f}d}|dk rX|}|rp|dk rp|d|}|r|j|d|jd}t|S)Nhttpz://rz%s://%s:@)netloc) partitionlowerr_replacerr) rZ proxy_hostZ proxy_userZ proxy_passschemeprefix_partsZ auth_stringr r r rGs     zServer.get_proxy_uricCsxt|\}}|dkrtdt|dks8|dddkrddl}t||js*||kr&||gSgSdd|j|DS)NrcSs g|]}|jdddjqS)r)splitstrip).0xr r r sz#getHeaderValues..) mimetools isinstanceZMessageZgetallmatchingheaders)headersr-r:r r r getHeaderValuess  r=cCsbd}d}d}||kr t||}d}||krZt||}|rZdj|}ddl}d|j|}||fS)z% Reports the error from the headers. rzX-RHN-Fault-CodezX-RHN-Fault-StringNz%s)intr=joinbase64Z decodestring)r<ZerrcodeerrmsgsZ_sListZ_srAr r r reportErrors   rD) __version__Z xmlrpc.clientZclientZ xmlrpclibZ urllib.parserrrrZrhnrr)rZ ServerProxyr r=rDr r r r s  i