
    3Cf4              	          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jb                        Z2dedededdfdZ3e2jh                  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       ZKeKj                  e;eEeMeNf       eKj                  e<e0       eKj                  e=ej                         eKj                  e?ej                         eKj                  e@ej                         eKj                  eAej                  ej                  f       eKj                  e>ej                         eKj                  eJe%       eKj                  eIeCe2j                         y)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y)LookupErrorN)__name__
__module____qualname__     O/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/aiohttp/payload.pyr.   r.   =   s    r3   r.   c                       e Zd ZdZdZdZy)Ordernormal	try_firsttry_lastN)r/   r0   r1   r7   r8   r9   r2   r3   r4   r6   r6   A   s    FIHr3   r6   dataargskwargsreturnr!   c                 4    t        j                  | g|i |S N)r   get)r:   r;   r<   s      r4   r   r   G   s    6t6v66r3   orderfactorytyperB   c                4    t         j                  | ||       y NrA   )r   register)rC   rD   rB   s      r4   register_payloadrH   K   s     gt59r3   c                   V    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y)
r    rA   rD   rB   r=   Nc                     || _         || _        y r?   )rD   rB   )selfrD   rB   s      r4   __init__zpayload_type.__init__R   s    	
r3   rC   r!   c                 J    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   s>    49LL S E T Y DO r3   r    c                   l    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y)PayloadRegistryzZPayload registry.

    note: we need zope.interface for more efficient adapter search
    r=   Nc                 .    g | _         g | _        g | _        y 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        ||      s ||g|i |c S  t               r?   )
isinstancer!   rR   rS   rT   r.   )rK   r:   rV   r;   r<   rC   rD   s          r4   r@   zPayloadRegistry.getj   sd     dG$K#DKKtzzJ 	6MGT$%t5d5f55	6 mr3   rA   rC   rD   rB   c                >   |t         j                  u r| j                  j                  ||f       y |t         j                  u r| j
                  j                  ||f       y |t         j                  u r| j                  j                  ||f       y t        d|      )NzUnsupported order )	r6   r8   rR   appendr7   rS   r9   rT   
ValueError)rK   rC   rD   rB   s       r4   rG   zPayloadRegistry.registery   s}     EOO#KK/ell"LL$0enn$JJwo.1%;<<r3   )r=   N)r/   r0   r1   __doc__rL   r   r   r@   r6   r7   PayloadTyperG   r2   r3   r4   rP   rP   _   sv    
4 7<	  4	
  
  BG
="
=*-
=9>
=	
=r3   rP   c                   t   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y)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                  Nt        j                  | j                        d   }|| j                  }|| j                  t        j                  <   n'| j                  | j                  t        j                  <   | j                  j                  |xs i        y 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     "!&1mx'L,D/;DMM$++,^^'$//?BL##99/;DMM$++,/3/I/IDMM$++,W]+r3   c                     | j                   S )zSize of the payload.)ra   rU   s    r4   sizezPayload.size   s     zz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j                  | j                  j                         D cg c]  \  }}|dz   |z   dz    c}}      j                  d      dz   S c c}}w )N z: z
utf-8s   
)joinrc   itemsencode)rK   kvs      r4   _binary_headerszPayload._binary_headers   sY     GGt||7I7I7KLtq!QX\F*LMTT 	
Ls   A
c                     | j                   S )zPayload encoding)ri   rU   s    r4   rf   zPayload.encoding   rt   r3   c                 <    | j                   t        j                     S )zContent type)rk   r   rm   rU   s    r4   rd   zPayload.content_type   s     }}T..//r3   disptypequote_fields_charsetparamsc                 X    t        |f||d|| j                  t        j                  <   y)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   s3     3M3
#/(3
FL3
d../r3   writerc                    K   yw)zLWrite payload.

        writer is an AbstractStreamWriter instance:
        Nr2   rK   r   s     r4   writezPayload.write   s     s   )Trx   )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!      s   !;3;E8C= 4<"&"&,, ,S#XsCx0IIJ
, Cy01, 3-, 3-, , 
,4 hsm   (3-      
 
 
 (3-   0c 0 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                 l   t        |t        t        t        f      st	        dt        |            d|vrd|d<   t        |   |g|i | t        |t              r|j                  | _	        nt        |      | _	        | j                  t        kD  r d| i}t        j                  dt        fi | y y )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!?@CDK?STT'%?F>"000eZ(DJUDJ::,,%FMM,  	
  -r3   r   c                 V   K   |j                  | j                         d {    y 7 wr?   )r   rl   r   s     r4   r   zBytesPayload.write   s     ll4;;'''s   )'))	r/   r0   r1   r	   r   rL   r   r   __classcell__r   s   @r4   r"   r"      s8    j    0("6 (4 (r3   r"   c                   L     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                    |/|d}d}n1t        |      }|j                  j                  dd      }n	|d|z  }|}t        |   |j                  |      g|||d| y )Nrx   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 ( 3 3 7 7	7 K#7(B$MLL'	
 		
"%	

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

 sm
 
 

 
r3   r#   c                   6     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                 H    t        |   |j                         g|i | y r?   )r   rL   readr   s       r4   rL   zStringIOPayload.__init__  s     777r3   )r/   r0   r1   r   r   r   rL   r   r   s   @r4   r(   r(     s-    8bg 8c 8S 8T 8 8r3   r(   c                   `     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   rb   dispositionr;   r<   r=   Nc                     d|vrt        |      |d<   t        |   |g|i | | j                  >|;t        j
                  | j                  vr| j                  || j                         y y y y )Nre   )re   )r   r   rL   rj   r   r   rc   r   )rK   rb   r   r;   r<   r   s        r4   rL   zIOBasePayload.__init__  sy     V#!/!6F:000>>%+*A''t||;,,[4>>,R < +B%r3   r   c                   K   t        j                         }	 |j                  d | j                  j                  d       d {   }|rK|j                  |       d {    |j                  d | j                  j                  d       d {   }|rK|j                  d | j                  j                         d {    y 7 7 g7 :7 # |j                  d | j                  j                         d {  7   w xY ww)N   )asyncioget_event_looprun_in_executorrl   r   r   close)rK   r   loopchunks       r4   r   zIOBasePayload.write+  s     %%'	@..tT[[5E5EuMMEll5)))"2249I9I5QQ  &&tT[[->->??? N)Q?$&&tT[[->->???sp   C?*C CC C.C CC )C?=C	>C?C C C 	C?*C<5C86C<<C?)
attachment)r/   r0   r1   r   r   r   r   rL   r   r   r   r   s   @r4   r$   r$     s_    sGO 2>
SW
S+.
SFI
SUX
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                    |/|d}d}n/t        |      }|j                  j                  dd      }n|d|z  }t        |   |g|||d| y )Nrx   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#..229gF#7(B	
 		
%	

 	
r3   c                     	 t        j                  | j                  j                               j                  | j                  j                         z
  S # t        $ r Y y w xY wr?   osfstatrl   filenost_sizetellOSErrorrU   s    r4   rr   zTextIOPayload.sizeU  sM    	88DKK..0199DKK<L<L<NNN 		   AA 	A A r   c                 r  K   t        j                         }	 |j                  d | j                  j                  d       d {   }|r| j
                  r|j                  | j
                        n|j                         }|j                  |       d {    |j                  d | j                  j                  d       d {   }|r|j                  d | j                  j                         d {    y 7 7 g7 :7 # |j                  d | j                  j                         d {  7   w xY ww)Nr   )rf   )	r   r   r   rl   r   ri   r{   r   r   )rK   r   r   r   r:   s        r4   r   zTextIOPayload.write\  s     %%'	@..tT[[5E5EuMME ~~ LL$..L9 
 ll4((("2249I9I5QQ  &&tT[[->->??? N )Q?$&&tT[[->->???sq   D7*D C;AD C=.D C?D )D75D6D7;D =D ?D D7*D4-D0.D44D7)r/   r0   r1   r   r   r   r   r   rL   r   r   rr   r   r   r   r   s   @r4   r'   r'   6  s    N #'&*

 
 3-	

 sm
 
 

8 hsm  @"6 @4 @r3   r'   c                   "    e Zd Zedefd       Zy)r%   r=   c                     | j                   j                         }| j                   j                  dt        j                        }| j                   j                  |       ||z
  S rh   )rl   r   seekr   SEEK_END)rK   positionends      r4   rr   zBytesIOPayload.sizem  sJ    ;;##%kkq"++."X~r3   N)r/   r0   r1   r   r   rr   r2   r3   r4   r%   r%   l  s    c  r3   r%   c                   (    e Zd Zedee   fd       Zy)r&   r=   c                     	 t        j                  | j                  j                               j                  | j                  j                         z
  S # t        $ r Y y w xY wr?   r   rU   s    r4   rr   zBufferedReaderPayload.sizev  sO    	88DKK..0199DKK<L<L<NNN 	 	r   N)r/   r0   r1   r   r   r   rr   r2   r3   r4   r&   r&   u  s    hsm  r3   r&   c                   X     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)   rx   zapplication/jsonrb   rf   rd   dumpsr;   r<   r=   Nc                 \    t        |    ||      j                  |      g|||d| y )Nr   )r   rL   r{   )rK   rb   rf   rd   r   r;   r<   r   s          r4   rL   zJsonPayload.__init__  sC     	%L)	
 		
%	

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

 
 
 
 

 
r3   r)   )AsyncIterableAsyncIteratorc                   V     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j                  t	        |                  d|vrd|d<   t        |   |g|i | |j                         | _        y )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__  sf    %/!6$u+.  '%?F>"000__&
r3   r   c                    K   | j                   r>	 	 | j                   j                          d {   }|j                  |       d {    <y 7 7 # t        $ r
 d | _         Y y w xY wwr?   )r   	__anext__r   StopAsyncIteration)rK   r   r   s      r4   r   zAsyncIterablePayload.write  sf     ::" "&**"6"6"88E ,,u--- 	 
 9-% "!
"sJ   A(A AA AA A(A A A%"A($A%%A()r/   r0   r1   r   r   _AsyncIteratorr   _AsyncIterabler   rL   r   r   r   r   s   @r4   r*   r*     sG    &*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                 H    t        |   |j                         g|i | y 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     s)    <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      s     	   	  #     "  %  " /  $) eCj (	) 	C 7c 7# 7 7 7
 <A<<:)_:$':38:	:  9o[#-. $= $=NRc Rj(7 (:
L 
>8m 8
@G @43@M 3@l] M 
, 
( 3"5)N"5)N<"N"N"7 "><. <
 #$    ,	:(F G   - -   /2;; 7   - 7   ."** 5   /"2C2CREVEV1W X   - 3   -| <   .U^^  Tr3   