HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //lib/python3.6/site-packages/S3/__pycache__/Custom_httplib3x.cpython-36.pyc
3

�9pe�,�@s
ddlmZmZddlZddlZddljZddlmZm	Z	m
Z
mZmZm
Z
mZmZmZmZddlmZddlmZddd	gZddd�Zd
d�Zdd�Zddd�Zd dd�Zdd�Zd!dd�ZGdd�de�Zd"dd�Zeej _!eej"_#eej"_$eej"_%eej"_&eej"_'dS)#�)�absolute_import�print_functionN)
�_CS_REQ_SENT�_CS_REQ_STARTED�CONTINUE�UnknownProtocol�CannotSendHeader�
NO_CONTENT�NOT_MODIFIED�EXPECTATION_FAILED�HTTPMessage�
HTTPException)�StringIO�)�encode_to_s3ZPATCHZPOSTZPUT�datacCsny
|jd�Stk
rh}zBt|j|j|j|jd|j�||j|j�|f�}d|_|�WYdd}~XnXdS)z<Call data.encode("latin-1") but show a better error message.zlatin-1z`%s (%.20r) is not valid Latin-1. Use %s.encode('utf-8') if you want to send it encoded in UTF-8.N)�encode�UnicodeEncodeError�encoding�object�start�end�title�	__cause__)r�name�err�exc�r�&/usr/lib/python3.6/Custom_httplib3x.py�_encodes
rcCs�|jdk	rdS|j�\}}}||_|_|j�|_|dkrBd|_n|jd�rTd|_nt|��t	j
|j�|_|_|j
dkr�x|jD]}td|d	d
�q�W|jjd�}|r�|j�dkr�d
|_d|_nd|_|j�|_d|_|jjd�}|o�|j�r2yt|�|_Wntk
�rd|_YnX|jdk�r8d|_nd|_|tk�st|tk�std|k�o`dkn�st|jdk�rzd|_|j�r�|j�r�|jdk�r�d
|_dS)z� Re-implemented httplib begin function
    to not loop over "100 CONTINUE" status replies
    but to report it to higher level so it can be processed.
    N�HTTP/1.0�HTTP/0.9�
zHTTP/1.�rzheader:� )rztransfer-encoding�chunkedTFzcontent-length�d��ZHEAD)r r!)�headersZ_read_status�code�status�strip�reason�version�
startswithr�httplibZ
parse_headers�fp�msg�
debuglevel�print�get�lowerr%Z
chunk_leftZ_check_closeZ
will_close�length�int�
ValueErrorr	r
�_method)�selfr-r*r,�hdrZtr_encr6rrr�httpresponse_patched_begin*sL






r<cCsd|dkr|j�tkrdSdSt|d�r*dSyt|�}|jStk
rLYnXt|t�r`t|�SdS)zG## REIMPLEMENTED because new in last httplib but needed by send_requestNr�read)	�upper�_METHODS_EXPECTING_BODY�hasattr�
memoryview�nbytes�	TypeError�
isinstance�str�len)�body�methodZmvrrr�)httpconnection_patched_get_content_lengthps

rIFc
Cs�tjdd�|D��}i}d|kr(d|d<d|kr8d|d<d}x0|j�D]$\}	}
d	|	j�krFd
|
j�krFd}qFW|j||f|�d|kr�d
|kr�d}t||�}|dkr�|dk	r�|jdkr�td|�d}|jdd�q�|jdt	|��nd}x(|j�D]\}	}
|jt
|	�t
|
��q�Wt|t	��r*t|d�}|�s@|j
||d�nX|�sNtd��|j
�|j�}|j�t|_|jtk�r�t��n|jtk�r�|j||�dS)NcSsg|]}|j��qSr)r5)�.0�krrr�
<listcomp>�sz7httpconnection_patched_send_request.<locals>.<listcomp>�hostrZ	skip_hostzaccept-encodingZskip_accept_encodingF�expectz100-continueTzcontent-lengthztransfer-encodingrzUnable to determine size of %rzTransfer-Encodingr%zContent-LengthrG)�encode_chunkedz.A body is required when expecting 100-continue)�dict�fromkeys�itemsr5Z
putrequestrIr2r3Z	putheaderrErrDr�
endheadersr
Zgetresponser=r�_HTTPConnection__stater*r�ExpectationFailedr�wrapper_send_body)
r:rHZurlrGr(rOZheader_namesZskipsZexpect_continuer;�valueZcontent_lengthZresprrr�#httpconnection_patched_send_request�sN


rXcCs*|jtkrt|_nt��|j||d�dS)zDREIMPLEMENTED because new argument encode_chunked added after py 3.4)rON)rTrrr�_send_output)r:�message_bodyrOrrr�!httpconnection_patched_endheaders�s
r[ccsdd}|jdkrtd�|j|�}|r6|jdkr6td�x(|j|�}|sHP|rV|jd�}|Vq8WdS)zGREIMPLEMENTED because needed by send_output and added after py 3.4
    i rzsendIng a read()ablezencoding file using iso-8859-1z
iso-8859-1N)r2r3Z
_is_textIOr=r)r:�readableZ	blocksizerZ	datablockrrr�$httpconnection_patched_read_readable�s



r]cCsF|jjd�dj|j�}|jdd�=|j|�|dk	rB|j||�dS)zUREIMPLEMENTED because needed by endheaders and parameter
    encode_chunked was added�s
N)r^r^)Z_buffer�extend�join�sendrV)r:rZrOr1rrr�"httpconnection_patched_send_output�s	
rbc@seZdZdS)rUN)�__name__�
__module__�__qualname__rrrrrUsrUcCs�t|d�r|j|�}nZyt|�WnFtk
rhyt|�}Wn$tk
rbtdt|���YnXYnX|f}xX|D]P}|s�|jdkrvtd�qv|r�|jdkr�dj	t
|��jd�|d}|j|�qvW|r�|jdkr�|jd	�dS)
Nr=zAmessage_body should be a bytes-like object or an iterable, got %rrzZero length chunk ignoredr#z{:X}
�asciis
s0

)
r@Z_read_readablerArC�iter�typer2r3Z	_http_vsn�formatrFrra)r:rZrOZchunks�chunkrrr�(httpconnection_patched_wrapper_send_bodys*


rk)r)F)NF)NF)F)(Z
__future__rr�os�sysZhttp.clientZclientr/rrrrrr	r
rrr
�iorZ	BaseUtilsrr?rr<rIrXr[r]rbrUrkZHTTPResponseZbeginZHTTPConnectionrSZ_send_readablerYZ
_send_requestrVrrrr�<module>s.
0

F!
D


,