3 Ëy=jBã@shdZddljZddlmZmZmZmZddl m Z Gdd„de ƒZ Gdd„dej ƒ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 srcsReZdZdZd‡fdd„ Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z ‡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|ƒtƒj|||d�dS)NÚhttps)Ú use_httpsÚtimeoutÚproxy)Úverbose)Ú startswithrZRequestsTransportÚ get_proxy_uriÚ_reset_host_handler_and_typeÚsuperÚ__init__) ÚselfÚuriZ transportrrZusernameZpasswordrr)Ú __class__r r r7s  zServer.__init__c Cs’|dkr dSd}d|kr8|jdƒ\}}}|jƒdkr8d}td||fƒ}d}|dk rX|}|rp|dk rp|d|}|rŠ|j|d|jd�}t|ƒS)NÚhttpz://rz%s://%sú:ú@)Únetloc)Ú partitionÚlowerrÚ_replacerr) rZ proxy_hostZ proxy_userZ proxy_passÚschemeÚprefixÚ_ÚpartsZ auth_stringr r r rGs     zServer.get_proxy_uricCsxt|ƒ\}}|dkrtdƒ‚t|ƒdks8|dd…dkrddl}t||jƒs*||kr&||gSgSdd„|j|ƒDƒS)NrcSs g|]}|jddƒdjƒ‘qS)ré)ÚsplitÚstrip)Ú.0Úxr r r ú ”sz#getHeaderValues..)Ú mimetoolsÚ isinstanceZMessageZgetallmatchingheaders)Úheadersr-r:r r r ÚgetHeaderValues�s  r=cCsbd}d}d}||kr t||ƒ}d}||krZt||ƒ}|rZdj|ƒ}ddl}d|j|ƒ}||fS)z% Reports the error from the headers. rÚzX-RHN-Fault-CodezX-RHN-Fault-StringNz%s)Úintr=ÚjoinÚbase64Z decodestring)r<ZerrcodeÚerrmsgÚsZ_sListZ_srAr r r Ú reportError˜s   rD)Ú __version__Z xmlrpc.clientZclientZ xmlrpclibZ urllib.parserrrrZrhnrr)rZ ServerProxyr r=rDr r r r Ús  i