
    bf4              	       |   U d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZm	Z	 d dl
mZ d dlmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ ddlmZ ddlmZ dd	lmZm Z m!Z!m"Z"m#Z# dd
l$m%Z% ddl&m'Z'm(Z( dZ)dZ*ee+         e,d<   erd dlm-Z-  G d de.          Z/ G d de0ej1                  Z2dedededdfdZ3e2j4        dded         dede2ddfdZ5 G d d           Z6ed         Z7ee7ef         Z8 G d! d"          Z9 G d# de          Z: G d$ d%e:          Z; G d& d'e;          Z< G d( d)e<          Z= G d* d+e:          Z> G d, d-e>          Z? G d. d/e>          Z@ G d0 d1e>          ZA G d2 d3e;          ZBerd d4lmCZCmDZD eDeE         ZFeCeE         ZGnd d4lHmCZCmDZD eDZFeCZG G d5 d6e:          ZI G d7 d8eI          ZJ e9            ZKeKL                    e;eEeMeNf           eKL                    e<e0           eKL                    e=ejO                   eKL                    e?ejP                   eKL                    e@ejQ                   eKL                    eAejR        ejS        f           eKL                    e>ejT                   eKL                    eJe%           eKL                    eIeCe2jU                   dS )9    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                       e Zd ZdS )LookupErrorN)__name__
__module____qualname__     I/var/www/html/Alfredo/env/lib/python3.11/site-packages/aiohttp/payload.pyr.   r.   =   s        Dr3   r.   c                       e Zd ZdZdZdZdS )Ordernormal	try_firsttry_lastN)r/   r0   r1   r7   r8   r9   r2   r3   r4   r6   r6   A   s        FIHHHr3   r6   dataargskwargsreturnr!   c                 ,    t          j        | g|R i |S N)r   get)r:   r;   r<   s      r4   r   r   G   s#    6t666v666r3   orderfactorytyperB   c                @    t                               | ||           d S NrA   )r   register)rC   rD   rB   s      r4   register_payloadrH   K   s%     gt599999r3   c                   Z    e Zd Zej        ddededdfdZded         ded         fd	ZdS )
r    rA   rD   rB   r=   Nc                "    || _         || _        d S r?   )rD   rB   )selfrD   rB   s      r4   __init__zpayload_type.__init__R   s    	


r3   rC   r!   c                 >    t          || j        | j                   |S rF   )rH   rD   rB   )rK   rC   s     r4   __call__zpayload_type.__call__V   s     $)4:>>>>r3   )	r/   r0   r1   r6   r7   r   rL   r   rN   r2   r3   r4   r    r    Q   sv        49L   S E T    Y DO      r3   r    c                   d    e Zd ZdZddZeddededd	d
eddf
dZej	        dde
dededdfdZdS )PayloadRegistryzZPayload registry.

    note: we need zope.interface for more efficient adapter search
    r=   Nc                 0    g | _         g | _        g | _        d S r?   )_first_normal_lastrK   s    r4   rL   zPayloadRegistry.__init__e   s    243513


r3   )_CHAINr:   r;   rV   z!Type[chain[_PayloadRegistryItem]]r<   r!   c                    t          |t                    r|S  || j        | j        | j                  D ]#\  }}t          ||          r ||g|R i |c S $t                      r?   )
isinstancer!   rR   rS   rT   r.   )rK   r:   rV   r;   r<   rC   rD   s          r4   r@   zPayloadRegistry.getj   s     dG$$ 	K#VDKtzJJ 	6 	6MGT$%% 6wt5d555f555556 mmr3   rA   rC   rD   rB   c                .   |t           j        u r| j                            ||f           d S |t           j        u r| j                            ||f           d S |t           j        u r| j                            ||f           d S t          d|          )NzUnsupported order )	r6   r8   rR   appendr7   rS   r9   rT   
ValueError)rK   rC   rD   rB   s       r4   rG   zPayloadRegistry.registery   s     EO##K/////el""L$00000en$$Jwo.....;%;;<<<r3   )r=   N)r/   r0   r1   __doc__rL   r   r   r@   r6   r7   PayloadTyperG   r2   r3   r4   rP   rP   _   s         
4 4 4 4 7<	    4	
  
     BG
= 
= 
="
=*-
=9>
=	
= 
= 
= 
= 
= 
=r3   rP   c                      e Zd ZU dZeed<   dZee         ed<   de	ddfde
deeeeeef         eeeef                  f                  deedef         dee         d	ee         d
e
ddfdZedee         fd            Zedee         fd            Zedefd            Zedefd            Zedee         fd            Zedefd            Z	 	 ddededede
ddf
dZededdfd            ZdS )r!   application/octet-stream_default_content_typeN_sizevalueheaderscontent_typefilenameencodingr<   r=   c                    || _         || _        t                      | _        || _        |t
          ur||| j        t          j        <   n]| j        =t          j	        | j                  d         }|| j
        }|| j        t          j        <   n| j
        | j        t          j        <   | j                            |pi            d S Nr   )	_encoding	_filenamer   _headers_valuer   r   CONTENT_TYPE	mimetypes
guess_typer`   update)rK   rb   rc   rd   re   rf   r<   s          r4   rL   zPayload.__init__   s     "!&1mmx''L,D/;DM$+,,^'$/??BL##9/;DM$+,,/3/IDM$+,W]+++++r3   c                     | j         S )zSize of the payload.)ra   rU   s    r4   sizezPayload.size   s     zr3   c                     | j         S )zFilename of the payload.)rj   rU   s    r4   re   zPayload.filename        ~r3   c                     | j         S )zCustom item headers)rk   rU   s    r4   rc   zPayload.headers   s     }r3   c                     d                     d | j                                        D                                           d          dz   S )N c                 *    g | ]\  }}|d z   |z   dz   S )z: z
r2   ).0kvs      r4   
<listcomp>z+Payload._binary_headers.<locals>.<listcomp>   s)    LLLtq!QX\F*LLLr3   utf-8s   
)joinrc   itemsencoderU   s    r4   _binary_headerszPayload._binary_headers   sR     GGLLt|7I7I7K7KLLLMMTT  	
r3   c                     | j         S )zPayload encoding)ri   rU   s    r4   rf   zPayload.encoding   rt   r3   c                 0    | j         t          j                 S )zContent type)rk   r   rm   rU   s    r4   rd   zPayload.content_type   s     }T.//r3   Tr}   disptypequote_fields_charsetparamsc                 J    t          |f||d|| j        t          j        <   dS )z$Sets ``Content-Disposition`` header.)r   r   N)r   rk   r   CONTENT_DISPOSITION)rK   r   r   r   r   s        r4   set_content_dispositionzPayload.set_content_disposition   s>     3M3
#/(3
 3
FL3
 3
d.///r3   writerc                 
   K   dS )zLWrite payload.

        writer is an AbstractStreamWriter instance:
        Nr2   rK   r   s     r4   writezPayload.write   s
        r3   )Tr}   )r/   r0   r1   r`   str__annotations__ra   r   intr   r   r   r   r
   r   r   r   rL   propertyrr   re   rc   bytesr   rf   rd   boolr   r   r   r   r2   r3   r4   r!   r!      sY        !;3;;;E8C= 4<"&"&, ,, ,S#XsCx0IIJ
, Cy01, 3-, 3-, , 
, , , ,4 hsm    X (3-    X     X 
 
 
 
 X
 (3-    X 0c 0 0 0 X0 "	

 



 

 	


 

 


 

 

 

 "6 4    ^  r3   c                   @     e Zd Zdedededdf fdZdeddfdZ xZS )	r"   rb   r;   r<   r=   Nc                    t          |t          t          t          f          st	          dt          |                    d|vrd|d<    t                      j        |g|R i | t          |t                    r|j        | _	        nt          |          | _	        | j	        t          k    rd| i}t          j        dt          fi | d S d S )Nz%value argument must be byte-ish, not rd   r_   sourcez}Sending a large body directly with raw bytes might lock the event loop. You should probably pass an io.BytesIO object instead)rX   r   	bytearray
memoryview	TypeErrorrD   superrL   nbytesra   lenr+   warningswarnResourceWarningrK   rb   r;   r<   	__class__s       r4   rL   zBytesPayload.__init__   s    %%J!?@@ 	USDKKSSTTT''%?F>"0000000eZ(( 	$DJJUDJ:,,,%FM,  	 
      -,r3   r   c                 J   K   |                     | j                   d {V  d S r?   )r   rl   r   s     r4   r   zBytesPayload.write   s2      ll4;'''''''''''r3   )	r/   r0   r1   r	   r   rL   r   r   __classcell__r   s   @r4   r"   r"      s|        j         0("6 (4 ( ( ( ( ( ( ( (r3   r"   c                   X     e Zd Zddddededee         dee         deddf fd	Z xZS )
r#   Nrf   rd   rb   r;   rf   rd   r<   r=   c                    |2|d}d}n4t          |          }|j                            dd          }n	|d|z  }|} t                      j        |                    |          g|R ||d| d S )Nr}   text/plain; charset=utf-8charsettext/plain; charset=%sr   )r   
parametersr@   r   rL   r   )	rK   rb   rf   rd   r;   r<   real_encodingmimetyper   s	           r4   rL   zStringPayload.__init__   s     # ':),77 ( 3 7 7	7 K K#7(B$MLL''	
 		
 	
"%	
 	

 	
 	
 	
 	
 	
r3   )r/   r0   r1   r   r   r   rL   r   r   s   @r4   r#   r#      s        
 #'&*
 
 

 
 3-	

 sm
 
 

 
 
 
 
 
 
 
 
 
r3   r#   c                   <     e Zd Zdee         dededdf fdZ xZS )r(   rb   r;   r<   r=   Nc                 f     t                      j        |                                g|R i | d S r?   )r   rL   readr   s       r4   rL   zStringIOPayload.__init__  s8    777777777r3   )r/   r0   r1   r   r   r   rL   r   r   s   @r4   r(   r(     s]        8bg 8c 8S 8T 8 8 8 8 8 8 8 8 8 8r3   r(   c                   l     e Zd ZU ee         ed<   	 ddee         dedededdf
 fd	Zd
eddfdZ	 xZ
S )r$   rl   
attachmentrb   dispositionr;   r<   r=   Nc                     d|vrt          |          |d<    t                      j        |g|R i | | j        3|3t          j        | j        vr"|                     || j                   d S d S d S d S )Nre   )re   )r   r   rL   rj   r   r   rc   r   )rK   rb   r   r;   r<   r   s        r4   rL   zIOBasePayload.__init__  s     V##!/!6!6F:0000000>%+*A't|;;,,[4>,RRRRR &%*A*A;;r3   r   c                   K   t          j                    }	 |                    d | j        j        d           d {V }|rD|                    |           d {V  |                    d | j        j        d           d {V }|D|                    d | j        j                   d {V  d S # |                    d | j        j                   d {V  w xY w)N   )asyncioget_event_looprun_in_executorrl   r   r   close)rK   r   loopchunks       r4   r   zIOBasePayload.write+  s     %''	@..tT[5EuMMMMMMMME Rll5)))))))))"2249I5QQQQQQQQ  R &&tT[->???????????$&&tT[->??????????s   A-B, ,(C)r   )r/   r0   r1   r   r   r   r   rL   r   r   r   r   s   @r4   r$   r$     s         sGOOO 2>
S 
SW
S+.
SFI
SUX
S	
S 
S 
S 
S 
S 
S@"6 @4 @ @ @ @ @ @ @ @r3   r$   c                        e Zd ZU eed<   ddddededee         dee         ded	df fd
Ze	d	ee
         fd            Zded	dfdZ xZS )r'   rl   Nr   rb   r;   rf   rd   r<   r=   c                    |2|d}d}n2t          |          }|j                            dd          }n|d|z  } t                      j        |g|R ||d| d S )Nr}   r   r   r   rd   rf   )r   r   r@   r   rL   )rK   rb   rf   rd   r;   r<   r   r   s          r4   rL   zTextIOPayload.__init__9  s     #":),77#.229gFF#7(B	
 		
 	
%	
 	

 	
 	
 	
 	
 	
r3   c                     	 t          j        | j                                                  j        | j                                        z
  S # t          $ r Y d S w xY wr?   osfstatrl   filenost_sizetellOSErrorrU   s    r4   rr   zTextIOPayload.sizeU  s]    	8DK..00119DK<L<L<N<NNN 	 	 	44	   A	A 
AAr   c                   K   t          j                    }	 |                    d | j        j        d           d {V }|rz| j        r|                    | j                  n|                                }|                    |           d {V  |                    d | j        j        d           d {V }|z|                    d | j        j                   d {V  d S # |                    d | j        j                   d {V  w xY w)Nr   )rf   )	r   r   r   rl   r   ri   r   r   r   )rK   r   r   r   r:   s        r4   r   zTextIOPayload.write\  sI     %''	@..tT[5EuMMMMMMMME R ~(ELL$.L999 
 ll4((((((((("2249I5QQQQQQQQ  R &&tT[->???????????$&&tT[->??????????s   B#C" "(D
)r/   r0   r1   r   r   r   r   r   rL   r   r   rr   r   r   r   r   s   @r4   r'   r'   6  s         NNN #'&*
 
 

 
 3-	

 sm
 
 

 
 
 
 
 
8 hsm    X@"6 @4 @ @ @ @ @ @ @ @r3   r'   c                   *    e Zd Zedefd            ZdS )r%   r=   c                     | j                                         }| j                             dt          j                  }| j                             |           ||z
  S rh   )rl   r   seekr   SEEK_END)rK   positionends      r4   rr   zBytesIOPayload.sizem  sN    ;##%%kq"+.."""X~r3   N)r/   r0   r1   r   r   rr   r2   r3   r4   r%   r%   l  s9        c    X  r3   r%   c                   6    e Zd Zedee         fd            ZdS )r&   r=   c                     	 t          j        | j                                                  j        | j                                        z
  S # t          $ r Y d S w xY wr?   r   rU   s    r4   rr   zBufferedReaderPayload.sizev  s_    	8DK..00119DK<L<L<N<NNN 	 	 	 44	r   N)r/   r0   r1   r   r   r   rr   r2   r3   r4   r&   r&   u  s=        hsm    X  r3   r&   c                   N     e Zd Zddej        fdedededededed	d
f fdZ xZ	S )r)   r}   zapplication/jsonrb   rf   rd   dumpsr;   r<   r=   Nc                      t                      j         ||                              |          g|R ||d| d S )Nr   )r   rL   r   )rK   rb   rf   rd   r   r;   r<   r   s          r4   rL   zJsonPayload.__init__  sl     	E%LL))	
 		
 	
%	
 	

 	
 	
 	
 	
 	
r3   )
r/   r0   r1   jsonr   r   r   r   rL   r   r   s   @r4   r)   r)     s          .!Z
 

 
 	

 
 
 
 

 
 
 
 
 
 
 
 
 
r3   r)   )AsyncIterableAsyncIteratorc                   \     e Zd ZU dZee         ed<   dedededdf fdZ	de
ddfd	Z xZS )
r*   N_iterrb   r;   r<   r=   c                    t          |t                    s/t          d                    t	          |                              d|vrd|d<    t                      j        |g|R i | |                                | _        d S )NzMvalue argument must support collections.abc.AsyncIterable interface, got {!r}rd   r_   )	rX   r   r   formatrD   r   rL   	__aiter__r   r   s       r4   rL   zAsyncIterablePayload.__init__  s    %// 	!6$u++..   ''%?F>"0000000__&&


r3   r   c                    K   | j         rU	 	 | j                                          d {V }|                    |           d {V  ;# t          $ r d | _         Y d S w xY wd S r?   )r   	__anext__r   StopAsyncIteration)rK   r   r   s      r4   r   zAsyncIterablePayload.write  s      : 	""."&*"6"6"8"8888888E ,,u---------. & " " "!



"	" 	"s   <A AA)r/   r0   r1   r   r   _AsyncIteratorr   _AsyncIterabler   rL   r   r   r   r   s   @r4   r*   r*     s         &*E8N#***'n 'S 'C 'D ' ' ' ' ' '	""6 	"4 	" 	" 	" 	" 	" 	" 	" 	"r3   r*   c                   0     e Zd Zdedededdf fdZ xZS )StreamReaderPayloadrb   r;   r<   r=   Nc                 f     t                      j        |                                g|R i | d S r?   )r   rL   iter_anyr   s       r4   rL   zStreamReaderPayload.__init__  s:    ));D;;;F;;;;;r3   )r/   r0   r1   r   r   rL   r   r   s   @r4   r   r     sY        <l <3 <# <$ < < < < < < < < < <r3   r   )Vr   enumior   rn   r   r   abcr   r   	itertoolsr   typingr   r   r   r	   r
   r   r   r   r   r   r   r   	multidictr   rw   r   r   helpersr   r   r   r   r   streamsr   typedefsr   r   __all__r+   r   r   r,   	Exceptionr.   r   Enumr6   r   r7   rH   r    r]   _PayloadRegistryItemrP   r!   r"   r#   r(   r$   r'   r%   r&   r)   r   r   r   r   r   collections.abcr*   r   r   rG   r   r   StringIO
TextIOBaseBytesIOBufferedReaderBufferedRandomIOBaser9   r2   r3   r4   <module>r      sd     				      				  # # # # # # # #                                  " ! ! ! ! !       % % % % % %              " ! ! ! ! ! / / / / / / / /  $) eCj ( ( ( 	 	 	 	 	) 	 	 	    C   7c 7# 7 7 7 7 7 7
 <A<: : :)_:$':38:	: : : :        9o[#-. $= $= $= $= $= $= $= $=NR R R R Rc R R Rj( ( ( ( (7 ( ( (:
 
 
 
 
L 
 
 
>8 8 8 8 8m 8 8 8
@ @ @ @ @G @ @ @43@ 3@ 3@ 3@ 3@M 3@ 3@ 3@l    ]       M   
 
 
 
 
, 
 
 
(  	#33333333"5)N"5)NN<<<<<<<<"N"N" " " " "7 " " ">< < < < <. < < <
 #?$$    ,	:(F G G G   - - - -   /2; 7 7 7   - 7 7 7   ."* 5 5 5   /"2CREV1W X X X   - 3 3 3   -| < < <   .U^  T T T T Tr3   