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: //home/arjun/projects/env/lib/python3.10/site-packages/aiohttp/__pycache__/payload.cpython-310.pyc
o

+we5�	@s$UddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	ddl
mZddlm
Z
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�
ByteString�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__�r0r0�H/home/arjun/projects/env/lib/python3.10/site-packages/aiohttp/payload.pyr,=sr,c@seZdZdZdZdZdS)�Order�normal�	try_first�try_lastN)r-r.r/r3r4r5r0r0r0r1r2Asr2�data�args�kwargs�returnr cOstj|g|�Ri|��S�N)r�get)r6r7r8r0r0r1rGsr��order�factory�typer=cCstj|||d�dS�Nr<)r�register)r>r?r=r0r0r1�register_payloadKsrBc@sDeZdZejd�dededdfdd�Zded	ded	fd
d�ZdS)rr<r?r=r9NcCs||_||_dSr:)r?r=)�selfr?r=r0r0r1�__init__Rs
zpayload_type.__init__r>r cCst||j|jd�|Sr@)rBr?r=)rCr>r0r0r1�__call__Vszpayload_type.__call__)	r-r.r/r2r3rrDrrEr0r0r0r1rQsrc@s`eZdZdZddd�Zed�deded	d
deddf
d
d�Zej	d�de
dededdfdd�ZdS)�PayloadRegistryzZPayload registry.

    note: we need zope.interface for more efficient adapter search
    r9NcCsg|_g|_g|_dSr:)�_first�_normal�_last�rCr0r0r1rDes
zPayloadRegistry.__init__)�_CHAINr6r7rKz!Type[chain[_PayloadRegistryItem]]r8r cOsTt|t�r|S||j|j|j�D]\}}t||�r&||g|�Ri|��Sqt��r:)�
isinstancer rGrHrIr,)rCr6rKr7r8r>r?r0r0r1r;js

�zPayloadRegistry.getr<r>r?r=cCsh|tjur|j�||f�dS|tjur|j�||f�dS|tjur-|j�||f�dStd|����)NzUnsupported order )	r2r4rG�appendr3rHr5rI�
ValueError)rCr>r?r=r0r0r1rAys


zPayloadRegistry.register)r9N)r-r.r/�__doc__rDrrr;r2r3�PayloadTyperAr0r0r0r1rF_s2
	�����
������rFc@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"eddfd#d$��ZdS)&r �application/octet-stream�_default_content_typeN�_size�value�headers�content_type�filename�encodingr8r9cKs�||_||_t�|_||_|tur|dur||jtj<n"|jdur7t�	|j�d}|dur0|j
}||jtj<n|j
|jtj<|j�|pDi�dS�Nr)�	_encoding�	_filenamer�_headers�_valuerr�CONTENT_TYPE�	mimetypes�
guess_typerR�update)rCrTrUrVrWrXr8r0r0r1rD�s
zPayload.__init__cC�|jS)zSize of the payload.)rSrJr0r0r1�size��zPayload.sizecCrb)zFilename of the payload.)r[rJr0r0r1rW�rdzPayload.filenamecCrb)zCustom item headers)r\rJr0r0r1rU�rdzPayload.headerscCs$d�dd�|j��D���d�dS)N�cSs g|]\}}|d|d�qS)z: z
r0)�.0�k�vr0r0r1�
<listcomp>�s z+Payload._binary_headers.<locals>.<listcomp>�utf-8s
)�joinrU�items�encoderJr0r0r1�_binary_headers�s���zPayload._binary_headerscCrb)zPayload encoding)rZrJr0r0r1rX�rdzPayload.encodingcCs|jtjS)zContent type)r\rr^rJr0r0r1rV�szPayload.content_typeTrj�disptype�quote_fields�_charset�paramscKs"t|f||d�|��|jtj<dS)z$Sets ``Content-Disposition`` header.)rprqN)rr\r�CONTENT_DISPOSITION)rCrorprqrrr0r0r1�set_content_disposition�s���zPayload.set_content_disposition�writerc�s�dS)zLWrite payload.

        writer is an AbstractStreamWriter instance:
        Nr0�rCrur0r0r1�write�sz
Payload.write)Trj)r-r.r/rR�str�__annotations__rSr�intrrrrr	rrrrD�propertyrcrWrU�bytesrnrXrV�boolrtrrrwr0r0r0r1r �sf
�� �����	�

������
�cs@eZdZdedededdf�fdd�Zdeddfd	d
�Z�ZS)r!rTr7r8r9Ncs�t|tttf�stdt|�����d|vrd|d<t�j|g|�Ri|��t|t�r0|j|_	nt
|�|_	|j	tkrJd|i}tj
dtfi|��dSdS)Nz%value argument must be byte-ish, not rVrQ�sourcez}Sending a large body directly with raw bytes might lock the event loop. You should probably pass an io.BytesIO object instead)rLr|�	bytearray�
memoryview�	TypeErrorr?�superrD�nbytesrS�lenr*�warnings�warn�ResourceWarning�rCrTr7r8��	__class__r0r1rD�s"



�
��zBytesPayload.__init__ruc�s�|�|j�IdHdSr:)rwr]rvr0r0r1rw�s�zBytesPayload.write)	r-r.r/rrrDrrw�
__classcell__r0r0r�r1r!�sr!c
sFeZdZddd�dededeedeededdf�fd	d
�Z�ZS)r"N�rXrVrTr7rXrVr8r9csp|dur|dur
d}d}nt|�}|j�dd�}n
|dur!d|}|}t�j|�|�g|�R||d�|��dS)Nrj�text/plain; charset=utf-8�charset�text/plain; charset=%sr�)r�
parametersr;r�rDrm)rCrTrXrVr7r8�
real_encoding�mimetyper�r0r1rD�s&	���
�zStringPayload.__init__)r-r.r/rxrrrDr�r0r0r�r1r"�s �������r"cs2eZdZdeedededdf�fdd�Z�ZS)r'rTr7r8r9Nc�"t�j|��g|�Ri|��dSr:)r�rD�readr�r�r0r1rD�"zStringIOPayload.__init__)r-r.r/rrxrrDr�r0r0r�r1r's*r'csZeZdZUeeed<	ddeededededdf
�fd	d
�
Zdeddfdd
�Z	�Z
S)r#r]�
attachmentrT�dispositionr7r8r9Ncsld|vr
t|�|d<t�j|g|�Ri|��|jdur0|dur2tj|jvr4|j||jd�dSdSdSdS)NrW)rW)rr�rDr[rrsrUrt)rCrTr�r7r8r�r0r1rDs�zIOBasePayload.__init__ruc
�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_executorr]r�rw�close)rCru�loop�chunkr0r0r1rw+s���2zIOBasePayload.write)r�)r-r.r/rrryrxrDrrwr�r0r0r�r1r#s
������r#c
sxeZdZUeed<ddd�dededeedeeded	df�fd
d�Ze	d	ee
fdd
��Zded	dfdd�Z
�ZS)r&r]Nr�rTr7rXrVr8r9csf|dur|dur
d}d}nt|�}|j�dd�}n|dur!d|}t�j|g|�R||d�|��dS)Nrjr�r�r��rVrX)rr�r;r�rD)rCrTrXrVr7r8r�r�r0r1rD9s$	���
�zTextIOPayload.__init__cC�4zt�|j���j|j��WStyYdSwr:��os�fstatr]�fileno�st_size�tell�OSErrorrJr0r0r1rcUs
�zTextIOPayload.sizeruc
�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�)rX)	r�r�r�r]r�rZrmrwr�)rCrur�r�r6r0r0r1rw\s����	�2	zTextIOPayload.write)r-r.r/r
ryrrrxrDr{rzrcrrwr�r0r0r�r1r&6s(
�������r&c@seZdZedefdd��ZdS)r$r9cCs.|j��}|j�dtj�}|j�|�||SrY)r]r��seekr��SEEK_END)rC�position�endr0r0r1rcms
zBytesIOPayload.sizeN)r-r.r/r{rzrcr0r0r0r1r$lsr$c@s"eZdZedeefdd��ZdS)r%r9cCr�r:r�rJr0r0r1rcvs
�zBufferedReaderPayload.sizeN)r-r.r/r{rrzrcr0r0r0r1r%usr%csDeZdZddejfdedededededed	d
f�fdd�
Z�Z	S)
r(rjzapplication/jsonrTrXrV�dumpsr7r8r9Ncs.t�j||��|�g|�R||d�|��dS)Nr�)r�rDrm)rCrTrXrVr�r7r8r�r0r1rD�s
���
�zJsonPayload.__init__)
r-r.r/�jsonr�rrxrrDr�r0r0r�r1r(�s&��������r()�
AsyncIterable�
AsyncIteratorcsReZdZUdZeeed<dedededdf�fdd�Z	d	e
ddfd
d�Z�ZS)r)N�_iterrTr7r8r9csTt|t�std�t|����d|vrd|d<t�j|g|�Ri|��|��|_dS)NzMvalue argument must support collections.abc.AsyncIterable interface, got {!r}rVrQ)	rLr�r��formatr?r�rD�	__aiter__r�r�r�r0r1rD�s

�zAsyncIterablePayload.__init__ruc�sL�|jr$z	|j��IdH}|�|�IdHqty#d|_YdSwdSr:)r��	__anext__rw�StopAsyncIteration)rCrur�r0r0r1rw�s����zAsyncIterablePayload.write)
r-r.r/r�r�_AsyncIteratorry�_AsyncIterablerrDrrwr�r0r0r�r1r)�s
r)cs.eZdZdedededdf�fdd�Z�ZS)�StreamReaderPayloadrTr7r8r9Ncr�r:)r�rD�iter_anyr�r�r0r1rD�r�zStreamReaderPayload.__init__)r-r.r/rrrDr�r0r0r�r1r��s&r�)Vr��enum�ior�r_r�r��abcrr�	itertoolsr�typingrrrrr	r
rrr
rrr�	multidictrrerr�helpersrrrrr�streamsr�typedefsrr�__all__r*rzryr+�	Exceptionr,rx�Enumr2rr3rBrrP�_PayloadRegistryItemrFr r!r"r'r#r&r$r%r(r�r�r|r�r��collections.abcr)r�rrArr��StringIO�
TextIOBase�BytesIO�BufferedReader�BufferedRandom�IOBaser5r0r0r0r1�<module>s�
8����
�
'U6