wce5 UddlZddlZddlZddlZddlZddlZddlZddlmZm Z ddl m Z ddl m Z mZmZmZmZmZmZmZmZmZmZmZddlmZddlmZddlmZdd lmZm Z m!Z!m"Z"m#Z#dd l$m%Z%dd l&m'Z'm(Z(d Z)d Z*ee+e,d<erddl m-Z-Gdde.Z/Gdde0ejbZ2dedededdfdZ3e2jhddeddede2ddfdZ5Gdd Z6edZ7ee7efZ8Gd!d"Z9Gd#deZ:Gd$d%e:Z;Gd&d'e;Z<Gd(d)e<Z=Gd*d+e:Z>Gd,d-e>Z?Gd.d/e>Z@Gd0d1e>ZAGd2d3e;ZBerdd4l mCZCmDZDeDeEZFeCeEZGn dd4lHmCZCmDZDeDZFeCZGGd5d6e:ZIGd7d8eIZJe9ZKeKje;eEeMeNfeKjeejeKjeJe%eKjeIeCe2jy)9N)ABCabstractmethod)chain) IO TYPE_CHECKINGAny ByteStringDictFinalIterableOptionalTextIOTupleTypeUnion) CIMultiDict)hdrs)AbstractStreamWriter) _SENTINELcontent_disposition_headerguess_filenameparse_mimetypesentinel) StreamReader) JSONEncoder _CIMultiDict) PAYLOAD_REGISTRY get_payload payload_typePayload BytesPayload StringPayload IOBasePayloadBytesIOPayloadBufferedReaderPayload TextIOPayloadStringIOPayload JsonPayloadAsyncIterablePayloadiTOO_LARGE_BYTES_BODY)Listc eZdZy) LookupErrorN)__name__ __module__ __qualname__1/usr/lib/python3/dist-packages/aiohttp/payload.pyr.r.=sr3r.ceZdZdZdZdZy)Ordernormal try_firsttry_lastN)r/r0r1r7r8r9r2r3r4r6r6As FIHr3r6dataargskwargsreturnr!c4tj|g|i|SN)rget)r:r;r<s r4rrGs    6t 6v 66r3orderfactorytyperBc4tj|||yNrA)rregister)rCrDrBs r4register_payloadrHKsgt59r3cVeZdZejddededdfdZdeddedfd Zy) r rArDrBr=Nc ||_||_yr?)rDrB)selfrDrBs r4__init__zpayload_type.__init__Rs  r3rCr!cJt||j|j|SrF)rHrDrB)rKrCs r4__call__zpayload_type.__call__Vs$))4::>r3) r/r0r1r6r7rrLrrNr2r3r4r r Qs>49LLSETYDOr3r c leZdZdZddZeddededd d edd f d Zejd de dededdfdZ y)PayloadRegistryzZPayload registry. note: we need zope.interface for more efficient adapter search r=Nc.g|_g|_g|_yr?)_first_normal_lastrKs r4rLzPayloadRegistry.__init__es24 35 13 r3)_CHAINr:r;rVz!Type[chain[_PayloadRegistryItem]]r<r!ct|tr|S||j|j|jD]\}}t||s||g|i|cSt r?) isinstancer!rRrSrTr.)rKr:rVr;r<rCrDs r4r@zPayloadRegistry.getjsd dG $K#DKKtzzJ 6MGT$%t5d5f55 6mr3rArCrDrBc>|tjur|jj||fy|tjur|j j||fy|tj ur|jj||fytd|)NzUnsupported order ) r6r8rRappendr7rSr9rT ValueError)rKrCrDrBs r4rGzPayloadRegistry.registerys} EOO # KK   / ell " LL  $ 0 enn $ JJ  wo .1%;<  =  =r3rPcteZdZUdZeed<dZeeed<de ddfde dee e e eefeeeeffde edefdeed eed e d dfd Zed eefd Zed eefdZed e fdZed efdZed eefdZed efdZ ddededede d df dZeded dfdZy)r!application/octet-stream_default_content_typeN_sizevalueheaders content_typefilenameencodingr<r=c ||_||_t|_||_|t ur |||jt j<n|jNtj|jd}| |j}||jt j<n'|j|jt j<|jj|xsiyNr) _encoding _filenamer_headers_valuerr CONTENT_TYPE mimetypes guess_typer`update)rKrbrcrdrerfr<s r4rLzPayload.__init__s"!&1m  x 'L,D/;DMM$++ , ^^ '$//?BL##99 /;DMM$++ ,/3/I/IDMM$++ , W]+r3c|jS)zSize of the payload.)rarUs r4sizez Payload.sizeszzr3c|jS)zFilename of the payload.)rjrUs r4rezPayload.filename~~r3c|jS)zCustom item headers)rkrUs r4rczPayload.headerss}}r3cdj|jjDcgc]\}}|dz|zdzc}}jddzScc}}w)Nz: z utf-8s )joinrcitemsencode)rKkvs r4_binary_headerszPayload._binary_headerssY GGt||7I7I7KLtq!QX\F*L M T T   LsA c|jS)zPayload encoding)rirUs r4rfzPayload.encodingrtr3c<|jtjS)z Content type)rkrrmrUs r4rdzPayload.content_types}}T..//r3disptype quote_fields_charsetparamsc Xt|f||d||jtj<y)z$Sets ``Content-Disposition`` header.)rrN)rrkrCONTENT_DISPOSITION)rKrrrrs r4set_content_dispositionzPayload.set_content_dispositions33M 3 #/(3 FL3  d../r3writerc Kyw)zLWrite payload. writer is an AbstractStreamWriter instance: Nr2rKrs r4writez Payload.writess)Trx)r/r0r1r`str__annotations__rar intrrrrr r rrrLpropertyrrrercbytesr~rfrdboolrrrrr2r3r4r!r!s!;3;E8C= 4<"&"&,, ,S#XsCx0II J , Cy01 ,3-,3-,, ,4hsm(3-   (3-0c00"             "6 4  r3c@eZdZdedededdffd ZdeddfdZxZS) r"rbr;r<r=Nclt|tttfst dt |d|vrd|d<t ||g|i|t|tr|j|_ nt||_ |jtkDr d|i}tjdtfi|yy)Nz%value argument must be byte-ish, not rdr_sourcez}Sending a large body directly with raw bytes might lock the event loop. You should probably pass an io.BytesIO object instead)rXr bytearray memoryview TypeErrorrDsuperrLnbytesralenr+warningswarnResourceWarningrKrbr;r< __class__s r4rLzBytesPayload.__init__s%%J!?@CDK?ST T  '%?F> " 000 eZ (DJUDJ ::, ,%F MM,      -r3rcVK|j|jd{y7wr?)rrlrs r4rzBytesPayload.writesll4;;'''s )')) r/r0r1r rrLrr __classcell__rs@r4r"r"s8j0("6(4(r3r"c LeZdZddddededeedeededdf fd ZxZS) r#Nrfrdrbr;rfrdr<r=c|/|d}d}n1t|}|jjdd}n |d|z}|}t||j |g|||d|y)Nrxtext/plain; charset=utf-8charsettext/plain; charset=%sr)r parametersr@rrLr{) rKrbrfrdr;r< real_encodingmimetypers r4rLzStringPayload.__init__s  # ' : ),7 ( 3 3 7 7 7 K #7(B $M  LL '   "%   r3)r/r0r1rrr rLrrs@r4r#r#sW #'&*    3-  sm       r3r#c6eZdZdeedededdffd ZxZS)r(rbr;r<r=NcHt||jg|i|yr?)rrLreadrs r4rLzStringIOPayload.__init__s  777r3)r/r0r1rrrrLrrs@r4r(r(s-8bg8c8S8T88r3r(c `eZdZUeeed< d deededededdf fd Zd eddfd Z xZ S) r$rlrb dispositionr;r<r=Ncd|vrt||d<t||g|i||j>|;tj |j vr|j||jyyyy)Nre)re)rrrLrjrrrcr)rKrbrr;r<rs r4rLzIOBasePayload.__init__sy V #!/!6F:  000 >> %+*A''t||;,,[4>>,R<+B %r3rcKtj} |jd|jjdd{}|rK|j |d{|jd|jjdd{}|rK|jd|jj d{y77g7:7 #|jd|jj d{7wxYww)N)asyncioget_event_looprun_in_executorrlrrclose)rKrloopchunks r4rzIOBasePayload.write+s%%' @..tT[[5E5EuMMEll5)))"2249I9I5QQ&&tT[[->->? ? ? N)Q ?$&&tT[[->->? ? ?spC?*C CC C.C C C )C?=C >C?C C C C? *C<5C86C<<C?) attachment) r/r0r1rrrrrLrrrrs@r4r$r$s_ sGO2> SW S+. SFI SUX S  S@"6@4@r3r$c eZdZUeed<ddddededeedeeded df fd Ze d ee fd Z d e d dfd Z xZS)r'rlNrrbr;rfrdr<r=c|/|d}d}n/t|}|jjdd}n|d|z}t||g|||d|y)Nrxrrrrdrf)rrr@rrL)rKrbrfrdr;r<rrs r4rLzTextIOPayload.__init__9s|  #": ),7#..229gF#7(B      %   r3c tj|jjj|jj z S#t $rYywxYwr?osfstatrlfilenost_sizetellOSErrorrUs r4rrzTextIOPayload.sizeUsM 88DKK..0199DKK->? ? ?N)Q ?$&&tT[[->->? ? ?sqD7*DC;ADC=.DC?D )D75D6D7;D=D?DD7*D4-D0.D44D7)r/r0r1rrrr rrLrrrrrrrrs@r4r'r'6s N #'&*    3-  sm      8hsm @"6 @4 @r3r'c"eZdZedefdZy)r%r=c|jj}|jjdtj}|jj|||z Srh)rlrseekrSEEK_END)rKpositionends r4rrzBytesIOPayload.sizemsJ;;##%kkq"++. "X~r3N)r/r0r1rrrrr2r3r4r%r%ls cr3r%c(eZdZedeefdZy)r&r=c tj|jjj|jj z S#t $rYywxYwr?rrUs r4rrzBufferedReaderPayload.sizevsO 88DKK..0199DKK " 000__& r3rcK|jr> |jjd{}|j|d{rs  #    "%"/  $)eCj( ) C 7c7#777 8m8 @G@43@M3@l]M , (3"5)N"5)N<"N"N"7"><.< #$, :(FG--/2;;7-7."**5/"2C2CREVEV1WX-3-|<. U^^Tr3