https://t.me/AnonymousX5
Server : Apache
System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64
User : njnconst ( 1116)
PHP Version : 8.4.18
Disable Function : NONE
Directory :  /lib/python2.7/site-packages/redhat_support_lib/web/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python2.7/site-packages/redhat_support_lib/web/connection.pyc
�
f�Tc@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZddlm
Z
ddlmZddlmZddlmZejd�Zdefd	��YZdS(
i����N(tHTTPConnectiont
BadStatusLine(tSSL(tHTTPSConnection(tRSLProxyHTTPSConnection(tRequestErrors!redhat_support_lib.web.connectiont
ConnectioncBs�eZdZdddddddeedd�
Zd�Zd�Zd�Ze	j
i�id�Zddd�Zddd�Z
d�Zd	�Zddd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zeeddd�ZRS(s)
    The strata api connection proxy
    cCs'||_||_||_||_||_||_||_|	|_|
|_||_	||_
|
|_||_|j
|�}|d|_|d|_|d|_d|_|	r�|j
|	�}|d|_|d|_n|j�|_|jjt|��||_t|�|_dS(Niiit(turltusernametpasswordtkey_filet	cert_filetstrictttimeoutt	proxy_urlt
proxy_usert
proxy_passtdebugtnoverifytssl_cat_Connection__parse_urlt
url_schematurl_hostturl_portt
handlerprefixt
proxy_hostt
proxy_portt_Connection__createConnectiont_Connection__connectiontset_debugleveltintt_Connection__managertidt_Connection__id(tselfRR	R
tmanagerRRR
RRRRRRRtutpurl((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyt__init__(s4													


	
	cCs|jS(N(R"(R#((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pytget_idWscCs|jS(N(R(R#((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyt
getConnectionZscCs
|jj�S(N(t_Connection__headerstcopy(R#((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pytgetDefaultHeaders]scCs�d}x�tr�y:|jj||j|||j|��|jj�SWq	tk
r�|dkr�|j�|d7}tj	t
d��q��q	Xq	WdS(Niis'Connection socket closed, reconnecting.(tTrueRtrequestRt
getHeaderstgetresponseRtresetConnectiontloggingRt_(R#tmethodRtbodytheaderstattempts((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyt	doRequest`s	



cCs�d}x~tr�y'|j||||�|jj�SWq	tk
r�|dkr||j�|d7}tjtd��q��q	Xq	WdS(s2Wrapper for _doUpload to handle connection retriesiis'Connection socket closed, reconnecting.N(	R-t	_doUploadRR0RR1R2RR3(R#RtfileNamet	fileChunktdescriptionR7((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pytdoUploadus	


c
Cs�dtj�}d}zdySt|d�}tjj|�}x+trjg}|r�|jd|�|jd�|jd�|jt|��n|jd|�|r�dtjj	|�|df}	|dj|	�|	}
ntjj	|�}
|jd	d
|
f�|jdt
j|�dp,d
�|jd�|jd�dj|�}g}|jd�|jd|d�|jd�dj|�}
t
|�t
|
�}|r�||d7}n
||7}|jjddd|dddd�|jit|�d6d|d6dd6�}x-|j�D]\}}|jj||�q5W|jj�|jj|�|r@|jj|j|d��|jj|
�|j�|kr�Pno|jj�}|j�|jdkr-tjd|j|j|j�f�t|j|j|j���n|dcd7<q@|jj|j��|jj|
�Pq@WWn
�nXWd|r�|j�nXdS(sY
        Do an upload of a single file to the given URL.
        Keyword arguments:
            url -- The URL to upload to.
            fileName -- An open file handle whose content needs to be sent.
            fileChunk -- Dict describing the chunk of fileName to be sent.
            description -- Optional description of the file.
        s----------%xtrbs--s2Content-Disposition: form-data; name="description"Rs%s.%03dtnumtnamess8Content-Disposition: form-data; name="%s"; filename="%s"tfilesContent-Type: %sisapplication/octet-streams
tsizeR4tPOSTRt	skip_hosttskip_accept_encodingisContent-Lengths multipart/form-data; boundary=%ssContent-Types
text/plaintAccepti�s1HTTP status(%s) HTTP reason(%s) HTTP response(%s)N(ttimetNonetopentostpathtgetsizeR-tappendtstrtbasenamet	mimetypest
guess_typetjointlenRt
putrequestR/titemst	putheadert
endheaderstsendtreadttellR0tstatustloggerRtreasonRtclose(R#RR:R;R<tboundarytfhtfileSizetheadFormAryt	chunkNametheader_filenametheadFormttailFormAryttailFormttotalLengththdrDicttkeytvaluetresponse((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyR9�s�		
		







			cCsd|j�}xQ|j�D]C}||dkrN|j|�rN|j|�q||||<qW|S(N(R,tkeysRHthas_keytpop(R#R6textended_headerstk((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyR/�scCs|jj|�dS(N(RR(R#tlevel((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyt
setDebugLevel�scCs|jj|||�dS(N(Rt
set_tunnel(R#thosttportR6((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyt	setTunnel�scCs3|jj�|jdk	r/|jj|�ndS(N(RR^R RHt
_freeResource(R#((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyR^�s
cCs
|jjS(N(Rt_Connection__state(R#((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pytstate�scCs�|jd�sd|}ntj|�}|djd�}|dg}t|�dkr�|j|d�y|jt|d��Wq�tk
r�|jd�q�Xn|j|d�|jd�|S(Nthttpshttps://it:ii(t
startswithturlparsetrsplitRSRMRt
ValueErrorRH(R#Rtparsethostporttret((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyt__parse_url�s



csp�fd�}�fd�}d}i}�jdkrK|�\}}n|�\}}�j|��_|S(Nc	sBi}d}tj�}�jr7|jtjd�n|jtjd�tjdtj	�ro|j
d�n�jr�tj�jtj	�r�|j
�j�n�jrt
�j�j�j�j�jd|�}�jdkrd�j�jf�_q8d�j�_n!t�j�j�jd|�}||fS(Ni	s /etc/pki/tls/certs/ca-bundle.crttssl_contexts
https://%s:%ss
https://%s(RHRtContextRt
set_verifytverify_nonetverify_peerRJtaccesstR_OKtload_verify_locationsRRRRRR
RRRRRR(thdrtconntcontext(R#(sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pytmakeHTTPSConnections0	
!					cs�i}d}�jr�t�j�j�j�}�jdkr[d�j�jf�_nd�j�_|dd!t	r�t
r�tjd�j
�jf�j�}d||d<q�nt�j�j�j�}||fS(Ns
https://%s:%ss
https://%ssProxy-Connections
Keep-Alives%s:%ssBasic %ssProxy-authorization(RHRRRRR
RRRt	proxyusert	proxypasstbase64tencodestringRRtstrip(R�R�tauth(R#(sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pytmakeHTTPConnection6s"		R{(RHRt_Connection__createHeadersR*(R#R�R�R�R�((R#sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyt__createConnections%cCs_tjd|j|jf�j�}idd6dd6|jd6d|d6}|j|�|S(Ns%s:%ssapplication/xmlRFsContent-TypetHostsBasic %st
Authorization(R�R�R	R
R�Rtupdate(R#tdefaultheadersR�thdrs((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyt__createHeadersYs


cCs!|j�|j|j�kdS(N(R^RR(R#((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyR1cs
N(t__name__t
__module__t__doc__RHtFalseR'R(R)R,turllibt	urlencodeR8R=R9R/RsRwR^RzRRR�R1tpropertyR!(((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyR$s6 			_	
					J	
	(tsysR�RPRJtsocketRGR�R~R2thttplibRRtM2CryptoRtM2Crypto.httpslibRt+redhat_support_lib.web.proxyhttpsconnectionRt(redhat_support_lib.infrastructure.errorsRt	getLoggerR\tobjectR(((sE/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.pyt<module>s

https://t.me/AnonymousX5 - 2025