HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/aiohttp/__pycache__/payload.cpython-310.pyc
o

���g�=�	@s(UddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlmZddl
mZmZmZmZmZmZmZmZmZmZmZddlmZddlmZddlmZdd	lmZm Z m!Z!m"Z"m#Z#dd
l$m%Z%ddl&m'Z'm(Z(dZ)d
Z*ee+e,d<er�ddl
m-Z-Gdd�de.�Z/Gdd�de0ej1�Z2dedededdfdd�Z3e2j4d�deddede2ddfdd �Z5Gd!d"�d"�Z6edZ7ee7efZ8Gd#d$�d$�Z9Gd%d�de	�Z:Gd&d'�d'e:�Z;Gd(d)�d)e;�Z<Gd*d+�d+e<�Z=Gd,d-�d-e:�Z>Gd.d/�d/e>�Z?Gd0d1�d1e>�Z@Gd2d3�d3e>�ZAGd4d5�d5e;�ZBe�r/dd6l
mCZCmDZDeDeEZFeCeEZGndd6lHmCZCmDZDeDZFeCZGGd7d8�d8e:�ZIGd9d:�d:eI�ZJe9�ZKeK�Le;eEeMeNf�eK�Le<e0�eK�Le=ejO�eK�Le?ejP�eK�Le@ejQ�eK�LeAejRejSf�eK�Le>ejT�eK�LeJe%�eKjLeIeCe2jUd�dS);�N)�ABC�abstractmethod)�chain)�IO�
TYPE_CHECKING�Any�Dict�Final�Iterable�Optional�TextIO�Tuple�Type�Union)�CIMultiDict�)�hdrs)�AbstractStreamWriter)�	_SENTINEL�content_disposition_header�guess_filename�parse_mimetype�sentinel)�StreamReader)�JSONEncoder�_CIMultiDict)
�PAYLOAD_REGISTRY�get_payload�payload_type�Payload�BytesPayload�
StringPayload�
IOBasePayload�BytesIOPayload�BufferedReaderPayload�
TextIOPayload�StringIOPayload�JsonPayload�AsyncIterablePayloadi�TOO_LARGE_BYTES_BODY)�Listc@seZdZdS)�LookupErrorN)�__name__�
__module__�__qualname__�r/r/�:/usr/local/lib/python3.10/dist-packages/aiohttp/payload.pyr+=sr+c@seZdZdZdZdZdS)�Order�normal�	try_first�try_lastN)r,r-r.r2r3r4r/r/r/r0r1Asr1�data�args�kwargs�returnrcOstj|g|�Ri|��S�N)r�get)r5r6r7r/r/r0rGsr��order�factory�typer<cCstj|||d�dS�Nr;)r�register)r=r>r<r/r/r0�register_payloadKsrAc@sDeZdZejd�dededdfdd�Zded	ded	fd
d�ZdS)rr;r>r<r8NcCs||_||_dSr9)r>r<)�selfr>r<r/r/r0�__init__Rs
zpayload_type.__init__r=rcCst||j|jd�|Sr?)rAr>r<)rBr=r/r/r0�__call__Vszpayload_type.__call__)	r,r-r.r1r2rrCrrDr/r/r/r0rQsrc@sdeZdZdZdZddd�Zed�ded	ed
ddedd
f
dd�Ze	j
d�dedede	ddfdd�ZdS)�PayloadRegistryzZPayload registry.

    note: we need zope.interface for more efficient adapter search
    ��_first�_normal�_last�_normal_lookupr8NcCsg|_g|_g|_i|_dSr9rF�rBr/r/r0rCgs
zPayloadRegistry.__init__)�_CHAINr5r6rLz!Type[chain[_PayloadRegistryItem]]r7rcOs�|jr|jD]\}}t||�r||g|�Ri|��Sq|j�t|��}r2||g|�Ri|��St|t�r9|S||j|j�D]\}}t||�rV||g|�Ri|��Sq@t��r9)	rG�
isinstancerJr:r>rrHrIr+)rBr5rLr6r7r=�type_�lookup_factoryr/r/r0r:ms
�

�zPayloadRegistry.getr;r=r>r<cCs�|tjur|j�||f�dS|tjur4|j�||f�t|t�r-|D]}||j|<q#dS||j|<dS|tj	urC|j
�||f�dStd|����)NzUnsupported order )r1r3rG�appendr2rHrMr
rJr4rI�
ValueError)rBr=r>r<�tr/r/r0r@�s


�
zPayloadRegistry.register)r8N)
r,r-r.�__doc__�	__slots__rCrrr:r1r2�PayloadTyper@r/r/r/r0rE_s4

�����
������rEc@s\eZdZUdZeed<dZeeed<de	ddfde
deeee
eefeeeeffdeedefdeed	eed
e
ddfdd
�Zedeefdd��Zedeefdd��Zedefdd��Zedefdd��Zedeefdd��Zedefdd��Z		d)dededede
ddf
d d!�Zed*d	ed#edefd$d%��Zed&eddfd'd(��ZdS)+r�application/octet-stream�_default_content_typeN�_size�value�headers�content_type�filename�encodingr7r8cKs�||_||_t�|_||_|tur|dur||jtj<n-|jdurBtj	dkr*t
j}nt
j}||j�d}|dur;|j
}||jtj<n|j
|jtj<|rS|j�|�dSdS)N)��
r)�	_encoding�	_filenamer�_headers�_valuerr�CONTENT_TYPE�sys�version_info�	mimetypes�guess_file_type�
guess_typerW�update)rBrYrZr[r\r]r7�guesserr/r/r0rC�s$

�zPayload.__init__cC�|jS)zSize of the payload.)rXrKr/r/r0�size��zPayload.sizecCrl)zFilename of the payload.)rarKr/r/r0r\�rnzPayload.filenamecCrl)zCustom item headers)rbrKr/r/r0rZ�rnzPayload.headerscCs$d�dd�|j��D���d�dS)N�cSs g|]\}}|d|d�qS)z: z
r/)�.0�k�vr/r/r0�
<listcomp>�s z+Payload._binary_headers.<locals>.<listcomp>�utf-8s
)�joinrZ�items�encoderKr/r/r0�_binary_headers�s���zPayload._binary_headerscCrl)zPayload encoding)r`rKr/r/r0r]�rnzPayload.encodingcCs|jtjS)zContent type)rbrrdrKr/r/r0r[�szPayload.content_typeTrt�disptype�quote_fields�_charset�paramscKs"t|f||d�|��|jtj<dS)z$Sets ``Content-Disposition`` header.)rzr{N)rrbr�CONTENT_DISPOSITION)rBryrzr{r|r/r/r0�set_content_disposition�s���zPayload.set_content_disposition�strict�errorscCsdS)z~Return string representation of the value.

        This is named decode() to allow compatibility with bytes objects.
        Nr/�rBr]r�r/r/r0�decode�szPayload.decode�writerc�s�dS)zLWrite payload.

        writer is an AbstractStreamWriter instance:
        Nr/�rBr�r/r/r0�write�sz
Payload.write)Trt�rtr) r,r-r.rW�str�__annotations__rXr�intrrrrrr
r
rrC�propertyrmr\rZ�bytesrxr]r[�boolr~rr�rr�r/r/r/r0r�sj
�� �����	�

������
�csleZdZUeed<deeeefdededdf�fdd�Z	dde
de
de
fd
d�Zdeddfdd�Z
�ZS)r rcrYr6r7r8Ncs�d|vrd|d<t�j|g|�Ri|��t|t�r|j|_nt|ttf�r,t|�|_n	t	dt
|�����|jtkrJd|i}tj
dtfi|��dSdS)Nr[rVz%value argument must be byte-ish, not �sourcez}Sending a large body directly with raw bytes might lock the event loop. You should probably pass an io.BytesIO object instead)�superrCrM�
memoryview�nbytesrXr��	bytearray�len�	TypeErrorr>r)�warnings�warn�ResourceWarning�rBrYr6r7��	__class__r/r0rC�s"


�
��zBytesPayload.__init__rtrr]r�cCs|j�||�Sr9)rcr�r�r/r/r0r�szBytesPayload.decoder�c�s�|�|j�IdHdSr9)r�rcr�r/r/r0r�s�zBytesPayload.writer�)r,r-r.r�r�rr�r�rrCr�r�rr��
__classcell__r/r/r�r0r �s
����r c
sFeZdZddd�dededeedeededdf�fd	d
�Z�ZS)r!N�r]r[rYr6r]r[r7r8csp|dur|dur
d}d}nt|�}|j�dd�}n
|dur!d|}|}t�j|�|�g|�R||d�|��dS)Nrt�text/plain; charset=utf-8�charset�text/plain; charset=%sr�)r�
parametersr:r�rCrw)rBrYr]r[r6r7�
real_encoding�mimetyper�r/r0rCs&	���
�zStringPayload.__init__)r,r-r.r�rrrCr�r/r/r�r0r!s �������r!cs2eZdZdeedededdf�fdd�Z�ZS)r&rYr6r7r8Nc�"t�j|��g|�Ri|��dSr9)r�rC�readr�r�r/r0rC:�"zStringIOPayload.__init__)r,r-r.rr�rrCr�r/r/r�r0r&9s*r&cspeZdZUejed<	ddeededededdf
�fd	d
�
Z	de
ddfdd
�Zddededefdd�Z�Z
S)r"rc�
attachmentrY�dispositionr6r7r8Ncsld|vr
t|�|d<t�j|g|�Ri|��|jdur0|dur2tj|jvr4|j||jd�dSdSdSdS)Nr\)r\)rr�rCrarr}rZr~)rBrYr�r6r7r�r/r0rCAs�zIOBasePayload.__init__r�c
�s��t��}z@|�d|jjd�IdH}|r8|�|�IdH|�d|jjd�IdH}|sW|�d|jj�IdHdSW|�d|jj�IdHdS|�d|jj�IdHw)N�)�asyncio�get_event_loop�run_in_executorrcr�r��close)rBr��loop�chunkr/r/r0r�Ms���2zIOBasePayload.writertrr]r�cs d���fdd�|j��D��S)Nroc3s�|]	}|����VqdSr9)r�)rp�r�r]r�r/r0�	<genexpr>Xs�z'IOBasePayload.decode.<locals>.<genexpr>)rurc�	readlinesr�r/r�r0r�Ws zIOBasePayload.decode)r�r�)r,r-r.�io�IOBaser�rrr�rCrr�r�r�r/r/r�r0r">s 

������ 
r"c
s�eZdZUejed<ddd�dededee	dee	ded	df�fd
d�Z
ed	eefdd
��Z
dde	de	d	e	fdd�Zded	dfdd�Z�ZS)r%rcNr�rYr6r]r[r7r8csf|dur|dur
d}d}nt|�}|j�dd�}n|dur!d|}t�j|g|�R||d�|��dS)Nrtr�r�r��r[r])rr�r:r�rC)rBrYr]r[r6r7r�r�r/r0rC^s$	���
�zTextIOPayload.__init__cCs4zt�|j���j|j��WStyYdSwr9)�os�fstatrc�fileno�st_size�tell�OSErrorrKr/r/r0rmzs
�zTextIOPayload.sizertrr�cCs
|j��Sr9)rcr�r�r/r/r0r��s
zTextIOPayload.decoder�c
�s��t��}zN|�d|jjd�IdH}|rF|jr|j|jd�n|��}|�|�IdH|�d|jjd�IdH}|sW|�d|jj�IdHdSW|�d|jj�IdHdS|�d|jj�IdHw)Nr�)r])	r�r�r�rcr�r`rwr�r�)rBr�r�r�r5r/r/r0r��s����	�2	zTextIOPayload.writer�)r,r-r.r��
TextIOBaser�rrrr�rCr�r�rmr�rr�r�r/r/r�r0r%[s*

�������r%c@sBeZdZUejed<edefdd��Zdde	de	de	fd	d
�Z
dS)
r#rcr8cCs.|j��}|j�dtj�}|j�|�||S)Nr)rcr��seekr��SEEK_END)rB�position�endr/r/r0rm�s
zBytesIOPayload.sizertrr]r�cC�|j���||�Sr9�rcr�r�r�r/r/r0r���zBytesIOPayload.decodeNr�)r,r-r.r��BytesIOr�r�r�rmr�r�r/r/r/r0r#�s


r#c@sFeZdZUejed<edeefdd��Z	dde
de
de
fd	d
�ZdS)
r$rcr8c	Cs8zt�|j���j|j��WSttfyYdSwr9)r�r�rcr�r�r�r��AttributeErrorrKr/r/r0rm�s
�zBufferedReaderPayload.sizertrr]r�cCr�r9r�r�r/r/r0r��r�zBufferedReaderPayload.decodeNr�)r,r-r.r��BufferedIOBaser�r�rr�rmr�r�r/r/r/r0r$�s



r$csDeZdZddejfdedededededed	d
f�fdd�
Z�Z	S)
r'rtzapplication/jsonrYr]r[�dumpsr6r7r8Ncs.t�j||��|�g|�R||d�|��dS)Nr�)r�rCrw)rBrYr]r[r�r6r7r�r/r0rC�s
���
�zJsonPayload.__init__)
r,r-r.�jsonr�rr�rrCr�r/r/r�r0r'�s&��������r')�
AsyncIterable�
AsyncIteratorcsreZdZUdZeeed<eed<dedededdf�fdd	�Z	d
e
ddfdd�Zddededefdd�Z
�ZS)r(N�_iterrcrYr6r7r8csTt|t�std�t|����d|vrd|d<t�j|g|�Ri|��|��|_dS)NzMvalue argument must support collections.abc.AsyncIterable interface, got {!r}r[rV)	rMr�r��formatr>r�rC�	__aiter__r�r�r�r/r0rC�s

�zAsyncIterablePayload.__init__r�c�sL�|jr$z	|j��IdH}|�|�IdHqty#d|_YdSwdSr9)r��	__anext__r��StopAsyncIteration)rBr�r�r/r/r0r��s����zAsyncIterablePayload.writertrr]r�cCstd��)NzUnable to decode.)r�r�r/r/r0r��szAsyncIterablePayload.decoder�)r,r-r.r�r�_AsyncIteratorr��_AsyncIterablerrCrr�r�r�r�r/r/r�r0r(�s
 r(cs.eZdZdedededdf�fdd�Z�ZS)�StreamReaderPayloadrYr6r7r8Ncr�r9)r�rC�iter_anyr�r�r/r0rC�r�zStreamReaderPayload.__init__)r,r-r.rrrCr�r/r/r�r0r��s&r�)Vr��enumr�r�rgr�rer��abcrr�	itertoolsr�typingrrrrr	r
rrr
rr�	multidictrrorr�helpersrrrrr�streamsr�typedefsrr�__all__r)r�r�r*�	Exceptionr+r��Enumr1rr2rArrU�_PayloadRegistryItemrErr r!r&r"r%r#r$r'r�r�r�r�r��collections.abcr(r�rr@r�r��StringIOr�r��BufferedReader�BufferedRandomr�r4r/r/r/r0�<module>s�
4����
�
7a#9
#