<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
®œ*jê  ã               @   s6   d dl Z d dlZd dljZdZG dd„ de jjƒZdS )é    Nz13.0.3-2.module_el8.10.0+7072+83ec8341.cloudlinux-c                   sl   e Zd ZdZde Zd‡ fdd„	Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ Zddd„Zdd„ Zdd„ Z‡  ZS )ÚRequestsTransportzO
    Drop in Transport for xmlrpclib that uses Requests instead of httplib
    zrhn.rpclib.py/%sTNc                s0   || _ || _|| _i | _|| _tt| ƒjƒ  d S )N)Úhttps_verifyÚ	use_httpsÚtimeoutÚ_injected_headersÚ	proxy_uriÚsuperr   Ú__init__)Úselfr   r   r   Úproxy)Ú	__class__© ú /usr/lib/python3.6/transports.pyr	      s    zRequestsTransport.__init__c             C   s@   t |ƒt g ƒt f ƒgkr.dd„ |D ƒ| j|< nt|ƒ| j|< d S )Nc             S   s   g | ]}t |ƒ‘qS r   )Ústr)Ú.0Úar   r   r   ú
<listcomp>.   s    z0RequestsTransport.set_header.<locals>.<listcomp>)Útyper   r   )r
   ÚnameÚargr   r   r   Ú
set_header,   s    zRequestsTransport.set_headerc             C   sF   || j kr&| j | }t|tƒs4|g}ng  }| j |< |jt|ƒƒ d S )N)r   Ú
isinstanceÚlistÚappendr   )r
   r   r   Zvlistr   r   r   Ú
add_header2   s    


zRequestsTransport.add_headerc             C   s   | j jƒ  d S )N)Z_headersÚclear)r
   r   r   r   Úclear_headers;   s    zRequestsTransport.clear_headersc             C   s
   || _ d S )N)r   )r
   Zcertfiler   r   r   Úset_trusted_cert>   s    z"RequestsTransport.set_trusted_certc             c   sN   xH| j jƒ D ]:\}}t|ƒtg ƒtf ƒgkr<djtt|ƒƒ}||fV  qW d S )Nú,)r   Úitemsr   ÚjoinÚmapr   )r
   r   r   r   r   r   Úget_injected_headersA   s    z&RequestsTransport.get_injected_headersFc             C   s¶   | j dddœ}t| jƒ ƒ}| j||ƒ}d| ji}tj|f|||–| j| j| jdœdœ|—Ž}	y|	j	ƒ  W n> tj
k
r¦ }
 z tjj||	jt|
ƒ|	jƒ‚W Y dd}
~
X nX | j|	ƒS dS )z)
        Make an xmlrpc request.
        ztext/xmlz*/*)z
User-AgentzContent-TypeZAcceptZverify)ÚhttpÚhttps)ÚdataÚheadersr   ZproxiesN)Ú
user_agentÚdictr"   Ú
_build_urlr   ÚrequestsZpostr   r   Zraise_for_statusZRequestExceptionÚxmlrpcÚclientZProtocolErrorZstatus_coder   r&   Úparse_response)r
   ÚhostÚhandlerZrequest_bodyÚverboser&   Zextra_headersZurlÚkwargsZrespÚer   r   r   ÚrequestR   s(    
 zRequestsTransport.requestc             C   s(   | j ƒ \}}|j|jƒ |jƒ  |jƒ S )z,
        Parse the xmlrpc response.
        )Z	getparserZfeedZcontentÚclose)r
   ZresponseÚpÚur   r   r   r-   u   s    z RequestsTransport.parse_responsec             C   s&   | j r
dnd}|jdƒ}d|||f S )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   r   r)   €   s    
zRequestsTransport._build_url)TTNN)F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__version__r'   r	   r   r   r   r   r"   r3   r-   r)   Ú__classcell__r   r   )r   r   r      s      	
#r   )r+   r*   Zxmlrpc.clientr,   Z	xmlrpclibr>   Z	Transportr   r   r   r   r   Ú<module>   s   
