
    h=              	          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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 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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__     Q/var/www/html/prod/cognitive/venv/lib/python3.11/site-packages/aiohttp/payload.pyr-   r-   =   s        Dr2   r-   c                       e Zd ZdZdZdZdS )Ordernormal	try_firsttry_lastN)r.   r/   r0   r6   r7   r8   r1   r2   r3   r5   r5   A   s        FIHHHr2   r5   dataargskwargsreturnr    c                 ,    t          j        | g|R i |S N)r   get)r9   r:   r;   s      r3   r   r   G   s#    6t666v666r2   orderfactorytyperA   c                @    t                               | ||           d S Nr@   )r   register)rB   rC   rA   s      r3   register_payloadrG   K   s%     gt599999r2   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   r@   rC   rA   r<   Nc                "    || _         || _        d S r>   )rC   rA   )selfrC   rA   s      r3   __init__zpayload_type.__init__R   s    	


r2   rB   r    c                 >    t          || j        | j                   |S rE   )rG   rC   rA   )rJ   rB   s     r3   __call__zpayload_type.__call__V   s     $)4:>>>>r2   )	r.   r/   r0   r5   r6   r   rK   r   rM   r1   r2   r3   r   r   Q   sv        49L   S E T    Y DO      r2   r   c                   h    e Zd 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
    _first_normal_last_normal_lookupr<   Nc                 >    g | _         g | _        g | _        i | _        d S r>   rP   rJ   s    r3   rK   zPayloadRegistry.__init__g   s%    243513
68r2   )_CHAINr9   r:   rW   z!Type[chain[_PayloadRegistryItem]]r;   r    c                   | j         r+| j         D ]#\  }}t          ||          r ||g|R i |c S $| j                            t	          |                    x}r ||g|R i |S t          |t
                    r|S  || j        | j                  D ]#\  }}t          ||          r ||g|R i |c S $t                      r>   )	rQ   
isinstancerT   r?   rC   r    rR   rS   r-   )rJ   r9   rW   r:   r;   rB   type_lookup_factorys           r3   r?   zPayloadRegistry.getm   s'    ; 	:"&+ : :dE** :"749$999&99999: "044T$ZZ@@@> 	9!>$8888888dG$$ 	K$fT\4:>> 	6 	6NGU$&& 6wt5d555f555556mmr2   r@   rB   rC   rA   c                   |t           j        u r| j                            ||f           d S |t           j        u rN| j                            ||f           t          |t                    r|D ]}|| j        |<   d S || j        |<   d S |t           j	        u r| j
                            ||f           d S t          d|          )NzUnsupported order )r5   r7   rQ   appendr6   rR   rY   r   rT   r8   rS   
ValueError)rJ   rB   rC   rA   ts        r3   rF   zPayloadRegistry.register   s     EO##K/////el""L$000$)) 4 5 5A-4D'**5 5 -4#D)))en$$Jwo.....;%;;<<<r2   )r<   N)r.   r/   r0   __doc__	__slots__rK   r   r   r?   r5   r6   PayloadTyperF   r1   r2   r3   rO   rO   _   s         
 AI9 9 9 9 7<	    4	
  
   0 BG= = ="=*-=9>=	= = = = = =r2   rO   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 d	edede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	        dk    rt          j        }nt          j        } || j                  d         }|| j        }|| j        t          j        <   n| j        | j        t          j        <   |r| j                            |           d S d S )N)      r   )	_encoding	_filenamer   _headers_valuer   r   CONTENT_TYPEsysversion_info	mimetypesguess_file_type
guess_typere   update)rJ   rg   rh   ri   rj   rk   r;   guessers           r3   rK   zPayload.__init__   s     "!&1mmx''L,D/;DM$+,,^'7**#3#."74>2215L##9/;DM$+,,/3/IDM$+, 	*M  )))))	* 	*r2   c                     | j         S )zSize of the payload.)rf   rV   s    r3   sizezPayload.size   s     zr2   c                     | j         S )zFilename of the payload.)rp   rV   s    r3   rj   zPayload.filename        ~r2   c                     | j         S )zCustom item headers)rq   rV   s    r3   rh   zPayload.headers   s     }r2   c                     d                     d | j                                        D                                           d          dz   S )N c                 *    g | ]\  }}|d z   |z   dz   S )z: z
r1   ).0kvs      r3   
<listcomp>z+Payload._binary_headers.<locals>.<listcomp>   s)    LLLtq!QX\F*LLLr2   utf-8s   
)joinrh   itemsencoderV   s    r3   _binary_headerszPayload._binary_headers   sR     GGLLt|7I7I7K7KLLLMMTT  	
r2   c                     | j         S )zPayload encoding)ro   rV   s    r3   rk   zPayload.encoding   r~   r2   c                 0    | j         t          j                 S )zContent type)rq   r   rs   rV   s    r3   ri   zPayload.content_type   s     }T.//r2   Tr   disptypequote_fields_charsetparamsc                 J    t          |f||d|| j        t          j        <   dS )z$Sets ``Content-Disposition`` header.)r   r   N)r   rq   r   CONTENT_DISPOSITION)rJ   r   r   r   r   s        r3   set_content_dispositionzPayload.set_content_disposition   s>     3M3
#/(3
 3
FL3
 3
d.///r2   stricterrorsc                     dS )z~Return string representation of the value.

        This is named decode() to allow compatibility with bytes objects.
        Nr1   rJ   rk   r   s      r3   decodezPayload.decode   s      r2   writerc                 
   K   dS )zLWrite payload.

        writer is an AbstractStreamWriter instance:
        Nr1   rJ   r   s     r3   writezPayload.write   s
        r2   )Tr   r   r   ) r.   r/   r0   re   str__annotations__rf   r   intr   r   r   r   r	   r   r   r   rK   propertyr|   rj   rh   bytesr   rk   ri   boolr   r   r   r   r   r1   r2   r3   r    r       s        !;3;;;E8C= 4<"&"&* ** ,S#XsCx0IIJ
* Cy01* 3-* 3-* * 
* * * *> hsm    X (3-    X     X 
 
 
 
 X
 (3-    X 0c 0 0 0 X0 "	

 



 

 	


 

 


 

 

 

  s c     ^ "6 4    ^  r2   c                   t     e Zd ZU eed<   deeeef         dededdf fdZ	dd
e
de
de
fdZdeddfdZ xZS )r!   rr   rg   r:   r;   r<   Nc                    d|vrd|d<    t                      j        |g|R i | t          |t                    r|j        | _        nPt          |t          t          f          rt          |          | _        nt          dt          |                    | j        t          k    rd| i}t          j        dt          fi | d S d S )Nri   rd   z%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)superrK   rY   
memoryviewnbytesrf   r   	bytearraylen	TypeErrorrC   r*   warningswarnResourceWarningrJ   rg   r:   r;   	__class__s       r3   rK   zBytesPayload.__init__   s     ''%?F>"0000000eZ(( 	UDJJy122 	UUDJJSDKKSSTTT:,,,%FM,  	 
      -,r2   r   r   rk   r   c                 8    | j                             ||          S r>   )rr   r   r   s      r3   r   zBytesPayload.decode  s    {!!(F333r2   r   c                 J   K   |                     | j                   d {V  d S r>   )r   rr   r   s     r3   r   zBytesPayload.write  s2      ll4;'''''''''''r2   r   )r.   r/   r0   r   r   r   r   r   r   rK   r   r   r   r   __classcell__r   s   @r3   r!   r!      s         MMM5)Z78ADPS	     24 4s 4c 4 4 4 4 4("6 (4 ( ( ( ( ( ( ( (r2   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rk   ri   rg   r:   rk   ri   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   rK   r   )	rJ   rg   rk   ri   r:   r;   real_encodingmimetyper   s	           r3   rK   zStringPayload.__init__  s     # ':),77 ( 3 7 7	7 K K#7(B$MLL''	
 		
 	
"%	
 	

 	
 	
 	
 	
 	
r2   )r.   r/   r0   r   r   r   rK   r   r   s   @r3   r"   r"     s        
 #'&*
 
 

 
 3-	

 sm
 
 

 
 
 
 
 
 
 
 
 
r2   r"   c                   <     e Zd Zdee         dededdf fdZ xZS )r'   rg   r:   r;   r<   Nc                 f     t                      j        |                                g|R i | d S r>   )r   rK   readr   s       r3   rK   zStringIOPayload.__init__:  s8    777777777r2   )r.   r/   r0   r   r   r   rK   r   r   s   @r3   r'   r'   9  s]        8bg 8c 8S 8T 8 8 8 8 8 8 8 8 8 8r2   r'   c                        e Zd ZU ej        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ddededefdZ xZS )r#   rr   
attachmentrg   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 )Nrj   )rj   )r   r   rK   rp   r   r   rh   r   )rJ   rg   r   r:   r;   r   s        r3   rK   zIOBasePayload.__init__A  s     V##!/!6!6F:0000000>%+*A't|;;,,[4>,RRRRR &%*A*A;;r2   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_executorrr   r   r   close)rJ   r   loopchunks       r3   r   zIOBasePayload.writeM  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   rk   r   c                 x    d                     fd| j                                        D                       S )Nr   c              3   D   K   | ]}|                               V  d S r>   )r   )r   rrk   r   s     r3   	<genexpr>z'IOBasePayload.decode.<locals>.<genexpr>X  s1      SSaqxx&11SSSSSSr2   )r   rr   	readlinesr   s    ``r3   r   zIOBasePayload.decodeW  s<    wwSSSSS4;;P;P;R;RSSSSSSr2   )r   r   )r.   r/   r0   ioIOBaser   r   r   r   rK   r   r   r   r   r   s   @r3   r#   r#   >  s         I 2>
S 
SW
S+.
SFI
SUX
S	
S 
S 
S 
S 
S 
S@"6 @4 @ @ @ @T Ts Tc T T T T T T T T Tr2   r#   c                        e Zd ZU ej        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de	de	d	e	fdZded	dfdZ xZS )r&   rr   Nr   rg   r:   rk   ri   r;   r<   c                    |2|d}d}n2t          |          }|j                            dd          }n|d|z  } t                      j        |g|R ||d| d S )Nr   r   r   r   ri   rk   )r   r   r?   r   rK   )rJ   rg   rk   ri   r:   r;   r   r   s          r3   rK   zTextIOPayload.__init__^  s     #":),77#.229gFF#7(B	
 		
 	
%	
 	

 	
 	
 	
 	
 	
r2   c                     	 t          j        | j                                                  j        | j                                        z
  S # t          $ r Y d S w xY wr>   )osfstatrr   filenost_sizetellOSErrorrV   s    r3   r|   zTextIOPayload.sizez  s]    	8DK..00119DK<L<L<N<NNN 	 	 	44	s   A	A 
AAr   r   r   c                 4    | j                                         S r>   )rr   r   r   s      r3   r   zTextIOPayload.decode  s    {!!!r2   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   )rk   )	r   r   r   rr   r   ro   r   r   r   )rJ   r   r   r   r9   s        r3   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   )r.   r/   r0   r   
TextIOBaser   r   r   r   r   rK   r   r   r|   r   r   r   r   r   s   @r3   r&   r&   [  s'        M #'&*
 
 

 
 3-	

 sm
 
 

 
 
 
 
 
8 hsm    X" "s "c " " " " "@"6 @4 @ @ @ @ @ @ @ @r2   r&   c                   V    e Zd ZU ej        ed<   edefd            Zd
de	de	de	fdZ
d	S )r$   rr   r<   c                     | j                                         }| j                             dt          j                  }| j                             |           ||z
  S )Nr   )rr   r   seekr   SEEK_END)rJ   positionends      r3   r|   zBytesIOPayload.size  sN    ;##%%kq"+.."""X~r2   r   r   rk   r   c                 \    | j                                                             ||          S r>   rr   r   r   r   s      r3   r   zBytesIOPayload.decode  &    {!!((6:::r2   Nr   )r.   r/   r0   r   BytesIOr   r   r   r|   r   r   r1   r2   r3   r$   r$     sw         Jc    X; ;s ;c ; ; ; ; ; ; ;r2   r$   c                   b    e Zd ZU ej        ed<   edee         fd            Z	d
de
de
de
fdZd	S )r%   rr   r<   c                     	 t          j        | j                                                  j        | j                                        z
  S # t          t          f$ r Y d S w xY wr>   )r   r   rr   r   r   r   r   AttributeErrorrV   s    r3   r|   zBufferedReaderPayload.size  sd    	8DK..00119DK<L<L<N<NNN( 	 	 	
 44	s   A	A A! A!r   r   rk   r   c                 \    | j                                                             ||          S r>   r   r   s      r3   r   zBufferedReaderPayload.decode  r   r2   Nr   )r.   r/   r0   r   BufferedIOBaser   r   r   r   r|   r   r   r1   r2   r3   r%   r%     s|         hsm    X; ;s ;c ; ; ; ; ; ; ;r2   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/jsonrg   rk   ri   dumpsr:   r;   r<   Nc                      t                      j         ||                              |          g|R ||d| d S )Nr   )r   rK   r   )rJ   rg   rk   ri   r   r:   r;   r   s          r3   rK   zJsonPayload.__init__  sl     	E%LL))	
 		
 	
%	
 	

 	
 	
 	
 	
 	
r2   )
r.   r/   r0   jsonr   r   r   r   rK   r   r   s   @r3   r(   r(     s          .!Z
 

 
 	

 
 
 
 

 
 
 
 
 
 
 
 
 
r2   r(   )AsyncIterableAsyncIteratorc                   |     e Zd ZU dZee         ed<   eed<   dedededdf fdZ	d	e
ddfd
ZddededefdZ xZS )r)   N_iterrr   rg   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}ri   rd   )	rY   r   r   formatrC   r   rK   	__aiter__r   r   s       r3   rK   zAsyncIterablePayload.__init__  s    %// 	!6$u++..   ''%?F>"0000000__&&


r2   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)rJ   r   r   s      r3   r   zAsyncIterablePayload.write  s      : 	""."&*"6"6"8"8888888E ,,u---------. & " " "!



"	" 	"s   <A AAr   r   rk   r   c                      t          d          )NzUnable to decode.)r   r   s      r3   r   zAsyncIterablePayload.decode  s    +,,,r2   r   )r.   r/   r0   r   r   _AsyncIteratorr   _AsyncIterabler   rK   r   r   r   r   r   r   s   @r3   r)   r)     s         &*E8N#***'n 'S 'C 'D ' ' ' ' ' '	""6 	"4 	" 	" 	" 	"- -s -c - - - - - - - - -r2   r)   c                   0     e Zd Zdedededdf fdZ xZS )StreamReaderPayloadrg   r:   r;   r<   Nc                 f     t                      j        |                                g|R i | d S r>   )r   rK   iter_anyr   s       r3   rK   zStreamReaderPayload.__init__  s:    ));D;;;F;;;;;r2   )r.   r/   r0   r   r   rK   r   r   s   @r3   r  r    sY        <l <3 <# <$ < < < < < < < < < <r2   r  )Vr   enumr   r   rv   r   rt   r   abcr   r   	itertoolsr   typingr   r   r   r	   r
   r   r   r   r   r   r   	multidictr   r   r   r   helpersr   r   r   r   r   streamsr   typedefsr   r   __all__r*   r   r   r+   	Exceptionr-   r   Enumr5   r   r6   rG   r   rb   _PayloadRegistryItemrO   r    r!   r"   r'   r#   r&   r$   r%   r(   r   r   r   r  r  collections.abcr)   r  r   rF   r   r   StringIOr   r   BufferedReaderBufferedRandomr   r8   r1   r2   r3   <module>r     se     				      				 



  # # # # # # # #                                " ! ! ! ! !       % % % % % %              " ! ! ! ! ! / / / / / / / /  $) eCj ( ( ( 	 	 	 	 	) 	 	 	    C   7c 7# 7 7 7 7 7 7
 <A<: : :)_:$':38:	: : : :        9o[#-. 4= 4= 4= 4= 4= 4= 4= 4=n^ ^ ^ ^ ^c ^ ^ ^B (  (  (  (  (7  (  (  (F
 
 
 
 
L 
 
 
>8 8 8 8 8m 8 8 8
T T T T TG T T T:6@ 6@ 6@ 6@ 6@M 6@ 6@ 6@r; ; ; ; ;] ; ; ;; ; ; ; ;M ; ; ;$
 
 
 
 
, 
 
 
(  	#33333333"5)N"5)NN<<<<<<<<"N"N -  -  -  -  -7  -  -  -F< < < < <. < < <
 #?$$    ,	:(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 Tr2   