HEX
Server: LiteSpeed
System: Linux server334.web-hosting.com 4.18.0-553.124.4.lve.el8.x86_64 #1 SMP Fri May 15 13:02:13 UTC 2026 x86_64
User: richfield (1256)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/rhn/__pycache__/transports.cpython-36.pyc
3

�Z�i��@s6ddlZddlZddljZdZGdd�dejj�ZdS)�Nz13.0.3-1.module_el8.10.0+7020+fd2ced8d.cloudlinux-csleZdZdZdeZd�fdd�	Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zddd�Zdd�Z
dd�Z�ZS)�RequestsTransportzO
    Drop in Transport for xmlrpclib that uses Requests instead of httplib
    zrhn.rpclib.py/%sTNcs0||_||_||_i|_||_tt|�j�dS)N)�https_verify�	use_https�timeout�_injected_headers�	proxy_uri�superr�__init__)�selfrrr�proxy)�	__class__�� /usr/lib/python3.6/transports.pyr	szRequestsTransport.__init__cCs@t|�tg�tf�gkr.dd�|D�|j|<nt|�|j|<dS)NcSsg|]}t|��qSr
)�str)�.0�ar
r
r�
<listcomp>.sz0RequestsTransport.set_header.<locals>.<listcomp>)�typerr)r
�name�argr
r
r�
set_header,szRequestsTransport.set_headercCsF||jkr&|j|}t|t�s4|g}ng}|j|<|jt|��dS)N)r�
isinstance�list�appendr)r
rrZvlistr
r
r�
add_header2s


zRequestsTransport.add_headercCs|jj�dS)N)Z_headers�clear)r
r
r
r�
clear_headers;szRequestsTransport.clear_headerscCs
||_dS)N)r)r
Zcertfiler
r
r�set_trusted_cert>sz"RequestsTransport.set_trusted_certccsNxH|jj�D]:\}}t|�tg�tf�gkr<djtt|��}||fVqWdS)N�,)r�itemsr�join�mapr)r
rrr
r
r�get_injected_headersAsz&RequestsTransport.get_injected_headersFcCs�|jddd�}t|j��}|j||�}d|ji}tj|f|||�|j|j|jd�d�|��}	y|	j	�Wn>tj
k
r�}
z tjj
||	jt|
�|	j��WYdd}
~
XnX|j|	�SdS)z)
        Make an xmlrpc request.
        ztext/xmlz*/*)z
User-AgentzContent-TypeZAcceptZverify)�http�https)�data�headersrZproxiesN)�
user_agent�dictr"�
_build_urlr�requestsZpostrrZraise_for_statusZRequestException�xmlrpc�clientZ
ProtocolErrorZstatus_coderr&�parse_response)r
�host�handlerZrequest_body�verboser&Z
extra_headersZurl�kwargsZresp�er
r
r�requestRs(
 zRequestsTransport.requestcCs(|j�\}}|j|j�|j�|j�S)z,
        Parse the xmlrpc response.
        )Z	getparserZfeedZcontent�close)r
Zresponse�p�ur
r
rr-usz RequestsTransport.parse_responsecCs&|jr
dnd}|jd�}d|||fS)zf
        Build a url for our request based on the host, handler and use_http
        property
        r$r#�/z
%s://%s/%s)r�lstrip)r
r.r/�schemer
r
rr)�s
zRequestsTransport._build_url)TTNN)F)�__name__�
__module__�__qualname__�__doc__�__version__r'r	rrrrr"r3r-r)�
__classcell__r
r
)rrrs	
#r)r+r*Z
xmlrpc.clientr,Z	xmlrpclibr>Z	Transportrr
r
r
r�<module>s