????

Your IP : 216.73.217.84


Current Path : /proc/1724857/root/usr/lib/python3.9/site-packages/rhn/__pycache__/
Upload File :
Current File : //proc/1724857/root/usr/lib/python3.9/site-packages/rhn/__pycache__/transports.cpython-39.pyc

a

	Z�i��@s8ddlZddlZddlmZdZGdd�dejj�ZdS)�Nz3.0.3-1.el9.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|���dS�N)�https_verify�	use_https�timeout�_injected_headers�	proxy_uri�superr�__init__)�selfrrr�proxy��	__class__��2/usr/lib/python3.9/site-packages/rhn/transports.pyr
szRequestsTransport.__init__cCs@t|�tg�td�fvr.dd�|D�|j|<nt|�|j|<dS)NrcSsg|]}t|��qSr)�str)�.0�arrr�
<listcomp>.�z0RequestsTransport.set_header.<locals>.<listcomp>)�typerr�r�name�argrrr�
set_header,szRequestsTransport.set_headercCsF||jvr&|j|}t|t�s4|g}ng}|j|<|�t|��dSr)r�
isinstance�list�appendr)rrrZvlistrrr�
add_header2s


zRequestsTransport.add_headercCs|j��dSr)Z_headers�clear)rrrr�
clear_headers;szRequestsTransport.clear_headerscCs
||_dSr)r)rZcertfilerrr�set_trusted_cert>sz"RequestsTransport.set_trusted_certccsJ|j��D]:\}}t|�tg�td�fvr:d�tt|��}||fVq
dS)Nr�,)r�itemsr�join�maprrrrr�get_injected_headersAsz&RequestsTransport.get_injected_headersFc
Cs�|jddd�}t|���}|�||�}d|ji}tj|f|i|�|�|j|j|jd�d�|��}	z|	�	�Wn@tj
y�}
z&tj�
||	jt|
�|	j��WYd}
~
nd}
~
00|�|	�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_headers�url�kwargsZresp�errr�requestRs:�
�����
�

�zRequestsTransport.requestcCs(|��\}}|�|j�|��|��S)z,
        Parse the xmlrpc response.
        )Z	getparserZfeedZcontent�close)rZresponse�p�urrrr1usz RequestsTransport.parse_responsecCs&|jr
dnd}|�d�}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)rr2r3�schemerrrr-�s
zRequestsTransport._build_url)TTNN)F)�__name__�
__module__�__qualname__�__doc__�__version__r+r
rrr r!r&r8r1r-�
__classcell__rrr
rrs�	
#r)r/r.Z
xmlrpc.clientr0Z	xmlrpclibrCZ	Transportrrrrr�<module>s