HEX
Server: Apache
System: Linux www3.pit.tblive.com 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64
User: awaldron (1020)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3.9/site-packages/rhn/__pycache__/rpclib.cpython-39.pyc
a

rjj(�@sjdZddlmZddlmZmZmZmZddl	m
Z
Gdd�de�ZGdd�dej
�Zd	d
�Zdd�ZdS)
z3.0.6-1.el9.cloudlinux-�N)�urlparse�
urlunparse�	splittype�	splithost)�
transportsc@seZdZdS)�MalformedURIErrorN)�__name__�
__module__�__qualname__�rr�./usr/lib/python3.9/site-packages/rhn/rpclib.pyr srcsReZdZdZd�fdd�	Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
�ZS)�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|�d�}|dur,tj|||�|||�d�}|�|�t�j|||d�dS)N�https)�	use_https�timeout�proxy)�verbose)�
startswithrZRequestsTransport�
get_proxy_uri�_reset_host_handler_and_type�super�__init__)	�self�uriZ	transportrr�username�passwordrr��	__class__rrr7s
�
zServer.__init__c	Cs�|durdSd}d|vr8|�d�\}}}|��dkr8d}td||f�}d}|durX|}|rp|durp|d|}|r�|j|d|jd�}t|�S)N�httpz://rz%s://%s�:�@)�netloc)�	partition�lowerr�_replacer!r)	rZ
proxy_hostZ
proxy_userZ
proxy_pass�scheme�prefix�_�partsZauth_stringrrrrGs zServer.get_proxy_uricCsxt|�\}}|durtd��t|�dks8|dd�dkr<t�|��|_|jdvrXtd��t|�\|_|_|jstd	|_dS)
z�
        Reset the attributes:
        self._host, self._handler, self._type
        according the value of self._uri.

        Kept for backwards compatibility.
        Nzmissing protocol in uri�r�z//)rrzunsupported XML-RPC protocolz/RPC2)	rr�lenr#Z_type�IOErrorrZ_hostZ_handler)rr�typerrrris	

z#Server._reset_host_handler_and_typecCs|j�||�S�N)�_ServerProxy__transport�
set_header�r�name�argrrrr0�szServer.set_headercCs|j�||�Sr.)r/�
add_headerr1rrrr4�szServer.add_headercCs
|j��Sr.)r/�
clear_headers)rrrrr5�szServer.clear_headerscCs|j�|�dSr.)r/�set_trusted_cert)rZcertfilerrrr6�szServer.set_trusted_cert)NrNNNN)rr	r
�__doc__rrrr0r4r5r6�
__classcell__rrrrr
$s�"r
cCs>ddl}t||j�s*||vr&||gSgSdd�|�|�D�S)NrcSs g|]}|�dd�d���qS)r�)�split�strip)�.0�xrrr�
<listcomp>��z#getHeaderValues.<locals>.<listcomp>)�	mimetools�
isinstanceZMessageZgetallmatchingheaders)�headersr2r@rrr�getHeaderValues�s
�rCcCsbd}d}d}||vr t||�}d}||vrZt||�}|rZd�|�}ddl}d|�|�}||fS)z% Reports the error from the headers. r�zX-RHN-Fault-CodezX-RHN-Fault-StringNz%s)�intrC�join�base64Zdecodestring)rBZerrcode�errmsg�sZ_sListZ_srGrrr�reportError�s

rJ)�__version__Z
xmlrpc.clientZclientZ	xmlrpclib�urllib.parserrrrZrhnrr,rZServerProxyr
rCrJrrrr�<module>si