HEX
Server: LiteSpeed
System: Linux us-phx-web629.main-hosting.eu 5.14.0-503.23.2.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 12 05:52:18 EST 2025 x86_64
User: u756937133 (756937133)
PHP: 8.2.30
Disabled: passthru,chgrp
Upload Files
File: //proc/2863166/root/usr/lib/python3.9/site-packages/S3/__pycache__/Custom_httplib3x.cpython-39.pyc
a

�9pe�,�@s
ddlmZmZddlZddlZddlmZddlmZm	Z	m
Z
mZmZm
Z
mZmZmZmZddlmZddlmZgd�Zdd	d
�Zdd�Zd
d�Zddd�Zddd�Zdd�Zddd�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_s3)ZPATCHZPOSTZPUT�datac
Csrz|�d�WStyl}zHt|j|j|j|jd|��||j|j�|f�}d|_|�WYd}~n
d}~00dS)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�7/usr/lib/python3.9/site-packages/S3/Custom_httplib3x.py�_encodes��rcCs�|jdurdS|��\}}}||_|_|��|_|dvrBd|_n|�d�rTd|_nt|��t	�
|j�|_|_|j
dkr�|jD]}td|dd	�q�|j�d
�}|r�|��dkr�d|_d|_nd
|_|��|_d|_|j�d�}|�r,|j�s,zt|�|_Wnt�yd|_Yn0|jdk�r2d|_nd|_|tk�sl|tk�sld|k�r^dk�sln|jdk�rrd|_|j�s�|j�s�|jdu�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)zHTTP/1.0zHTTP/0.9�
zHTTP/1.�rzheader:� )r�transfer-encoding�chunkedTF�content-length�d��ZHEAD)�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*sX





�
�
���r<cCsd|dur|��tvrdSdSt|d�r*dSzt|�}|jWStyLYn0t|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�method�mvrrr�)httpconnection_patched_get_content_lengthps

rJFc
Cs�t�dd�|D��}i}d|vr(d|d<d|vr8d|d<d}|��D]$\}	}
d	|	��krDd
|
��vrDd}qD|j||fi|��d|vr�d
|vr�d}t||�}|dur�|dur�|jdkr�td|�d}|�dd�q�|�dt	|��nd}|��D]\}	}
|�t
|	�t
|
��q�t|t	��r&t|d�}|�s<|j
||d�nX|�sJtd��|�
�|��}|��t|_|jtk�r|t��n|jtk�r�|�||�dS)NcSsg|]}|���qSr)r5)�.0�krrr�
<listcomp>��z7httpconnection_patched_send_request.<locals>.<listcomp>�hostrZ	skip_hostzaccept-encodingZskip_accept_encodingF�expectz100-continueTr%r#rzUnable to determine size of %rzTransfer-Encodingr$zContent-LengthrG��encode_chunkedz.A body is required when expecting 100-continue)�dict�fromkeys�itemsr5Z
putrequestrJr2r3Z	putheaderrErrDr�
endheadersr
Zgetresponser=r�_HTTPConnection__stater*r�ExpectationFailedr�wrapper_send_body)
r:rH�urlrGr(rRZheader_namesZskipsZexpect_continuer;�valueZcontent_lengthZresprrr�#httpconnection_patched_send_request�sN


r\cCs*|jtkrt|_nt��|j||d�dS)zDREIMPLEMENTED because new argument encode_chunked added after py 3.4rQN)rWrrr�_send_output)r:�message_bodyrRrrr�!httpconnection_patched_endheaders�s
r_ccs`d}|jdkrtd�|�|�}|r6|jdkr6td�|�|�}|sFq\|rT|�d�}|Vq6dS)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:�readable�	blocksizerZ	datablockrrr�$httpconnection_patched_read_readable�s



rbcCsF|j�d�d�|j�}|jdd�=|�|�|durB|�||�dS)zUREIMPLEMENTED because needed by endheaders and parameter
    encode_chunked was added)rNrN�
N)�_buffer�extend�join�sendrY)r:r^rRr1rrr�"httpconnection_patched_send_output�s	
rhc@seZdZdS)rXN)�__name__�
__module__�__qualname__rrrrrXsrXcCs�t|d�r|�|�}nVzt|�WnBtydzt|�}Wn"ty^tdt|���Yn0Yn0|f}|D]P}|s�|jdkrptd�qp|r�|jdkr�d�	t
|���d�|d}|�|�qp|r�|jdkr�|�d	�dS)
Nr=zAmessage_body should be a bytes-like object or an iterable, got %rrzZero length chunk ignoredr!z{:X}
�asciircs0

)
r@Z_read_readablerArC�iter�typer2r3Z	_http_vsn�formatrFrrg)r:r^rR�chunks�chunkrrr�(httpconnection_patched_wrapper_send_bodys0
�
�rr)r)F)NF)NF)F)(Z
__future__rr�os�sysZhttp.clientZclientr/rrrrrr	r
rrr
�iorZ	BaseUtilsrr?rr<rJr\r_rbrhrXrrZHTTPResponseZbeginZHTTPConnectionrVZ_send_readabler]Z
_send_requestrYrrrr�<module>s20
F!�
E
�

,