HEX
Server: nginx/1.30.4
System: Linux d-twindigital-web-1.host-ed.eu 4.18.0-553.141.2.el8_10.x86_64 #1 SMP Wed Jul 8 10:28:18 EDT 2026 x86_64
User: u_twindigital_html (1009)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/S3/__pycache__/Custom_httplib3x.cpython-36.pyc
3

@tJ[�,�@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_s3ZPATCHZPOST�PUT�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
r cCs�|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_encr7rrr�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

rJFc
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)r6)�.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-LengthrH)�encode_chunkedz.A body is required when expecting 100-continue)�dict�fromkeys�itemsr6Z
putrequestrJr3r4Z	putheaderrFrrEr �
endheadersr
Zgetresponser>r�_HTTPConnection__stater+r�ExpectationFailedr�wrapper_send_body)
r;rIZurlrHr)rPZheader_namesZskipsZexpect_continuer<�valueZcontent_lengthZresprrr�#httpconnection_patched_send_request�sN


rYcCs*|jtkrt|_nt��|j||d�dS)zDREIMPLEMENTED because new argument encode_chunked added after py 3.4)rPN)rUrrr�_send_output)r;�message_bodyrPrrr�!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)r3r4Z
_is_textIOr>r)r;�readable�	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`)�_buffer�extend�join�sendrW)r;r[rPr2rrr�"httpconnection_patched_send_output�s	
rec@seZdZdS)rVN)�__name__�
__module__�__qualname__rrrrrVsrVcCs�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

)
rAZ_read_readablerBrD�iter�typer3r4Z	_http_vsn�formatrGrrd)r;r[rPZchunks�chunkrrr�(httpconnection_patched_wrapper_send_bodys*


rn)r)F)NF)NF)F)(Z
__future__rr�os�sysZhttp.client�clientr0rrrrrr	r
rrr
�iorZUtilsrr@r r=rJrYr\r_rerVrnZHTTPResponseZbeginZHTTPConnectionrTZ_send_readablerZZ
_send_requestrWrrrr�<module>s.
0

F!
D


,