Sindbad~EG File Manager

Current Path : /proc/2715199/root/usr/libexec/kcare/python/kcarectl/__pycache__/
Upload File :
Current File : //proc/2715199/root/usr/libexec/kcare/python/kcarectl/__pycache__/http_utils.cpython-36.pyc

3

��"h:�@s�ddlZddlZddlZddlmZddlZddlmZmZddlmZddlm	Z	ddlm
Z
ddlmZm
Z
mZmZmZd	d
�Zddd
�Zdd�Zdd�Zddd�Zdd�Zdd�Ze�ZdS)�N)�SSLError�)�config�	constants)�	log_utils)�utils)�errors)�Request�std_urlopen�	HTTPError�URLError�httplibc	Os�t|d�r|j�}n|}t|�}|jdi�}|jtjtjd��x |j�D]\}}|j	||�qJWt
jdj||��yltj
r�d|kr�tj|d<tjr�ttdd�r�tj�}d|_tj|_||d<t|f|�|�St|f|�|�Stk
�r.}z0|jd	k�rtj|j|j|j|j|j���WYdd}~Xn~t k
�r�}z`|j!�r�t|j!d
d��r�|j!d
j"t"j#k�r�tj|d	t$|�dd��dj||�|_%||_�WYdd}~XnXdS)
N�get_full_url�headers)z
KC-VersionzKC-Patch-Versionz#Requesting url: `{0}`. Headers: {1}�timeout�HAS_SNIF�contexti�r�errnozRequest for `{0}` failed: {1})&�hasattrrr	�pop�updater�VERSION�KC_PATCH_VERSION�items�
add_headerr�logdebug�format�PY2_6r�HTTP_TIMEOUT�CHECK_SSL_CERTS�getattr�ssl�create_default_context�check_hostname�	CERT_NONE�verify_moder
r�coder�NotFound�url�msg�hdrs�fpr�argsr�ENOENT�str�reason)	r(r,�kwargsZrequest_urlr�header�value�ctx�ex�r5�0/usr/libexec/kcare/python/kcarectl/http_utils.py�urlopen_bases>


.r7Tcs�fdd�}|S)Ncsbt|t�r�o|jdkSt|ttjttjf�r2dSt	|d�r^t
|j�dkr^|jdtj
kr^dSdS)Ni�Tr,�r)�
isinstancerr&rr
�
HTTPExceptionr�socketrr�lenr,rZ
ECONNRESET)�e�state)�retry_on_500r5r6�check_functionDs
(z3check_urlopen_retry_factory.<locals>.check_functionr5)r?r@r5)r?r6�check_urlopen_retry_factoryCs	rAcCst|d�r|j�}|jd�S)Nrzfile:)rr�
startswith)r(r5r5r6�is_local_urlPs
rCcOsD|jdd�}t|�r$t|f|�|�Stjt|d��t�|f|�|�S)Nr?T)r?)rrCr7r�retryrA)r(r,r0r?r5r5r6�urlopenVsrEcCsHt||d�}tjr*|r*|jddj|��tjrD|rD|jtj|�|S)N)�method�
Authorizationz	Basic {0})r	r�UPDATE_FROM_LOCALrrr�AUTH_TOKEN_HEADER)r(Zauth_stringZ
auth_tokenrF�requestr5r5r6�http_request]srKcCs<|dkrtjd�ptjd�S|dkr8tjd�p6tjd�SdS)N�httpZ
http_proxyZ
HTTP_PROXY�httpsZhttps_proxyZHTTPS_PROXY)�os�getenv)�schemer5r5r6�get_proxy_from_envhsrQcCsttd��pttd��S)NrLrM)�boolrQr5r5r5r6�
proxy_is_usedosrS)T)NN)rrNr!rr;�rrrrr�py23r	r
rrr
r7rArCrErKrQrSZcheck_urlopen_retryr5r5r5r6�<module>s"1




Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists