bgddlZddlmZmZmZmZddlmZddlm Z m Z ddl m Z m Z mZddlmZddlmZd ZGd d ZdS) N)AnyIterableListOptional) urlencode) MultiDictMultiDictProxy)hdrs multipartpayload)guess_filename)Payload)FormDatac eZdZdZ ddeededeeddfd Z e defd Z dddd d ed edeedeedeeddf dZ deddfdZ dejfdZdejfdZdefdZdS)rztHelper class for form body generation. Supports multipart/form-data and application/x-www-form-urlencoded. TNfields quote_fieldscharsetreturnc>tjd|_g|_d|_d|_||_||_t|tr"t| }nt|ttfs|f}|j |dS)N form-dataF)r MultipartWriter_writer_fields _is_multipart _is_processed _quote_fields_charset isinstancedictlistitemstuple add_fields)selfrrrs G/opt/cloudlinux/venv/lib64/python3.11/site-packages/aiohttp/formdata.py__init__zFormData.__init__s !0== "$ "") fd # # &,,..))FFFT5M22 YF    c|jSN)rr&s r' is_multipartzFormData.is_multipart's !!r)) content_typefilenamecontent_transfer_encodingnamevaluer.r/r0ct|tjrd|_n(t|tt t fr|||}td|i}|'t|tstd|z|*t|tjrt||}| ||d<d|_i}|=t|tstd|z||tj <d|_|=t|tstd|z||tj <d|_|j|||fdS)NTr1z,filename must be an instance of str. Got: %sr/z0content_type must be an instance of str. Got: %sz=content_transfer_encoding must be an instance of str. Got: %s)r ioIOBaserbytes bytearray memoryviewrstr TypeErrorrr CONTENT_TYPECONTENT_TRANSFER_ENCODINGrappend)r&r1r2r.r/r0 type_optionsheaderss r' add_fieldzFormData.add_field+s eRY ' ' !%D   y*= > > $=$E'0&$'@'@   8S(A(A AHL    5") < < %eT22H  '/L $!%D   #lC00 ILX*6GD% &!%D  $ 07== ')BC7PGD2 3!%D  \7E:;;;;;r)cBt|}|r |d}t|tjr't |d}|||nt|ttfr(| | nmt|ttfr/t|dkr|\}}|||n"td|| dSdS)NrunknownzxOnly io.IOBase, multidict and (name, file) pairs allowed, use .add_field() for passing more complex parameters, got {!r})r"popr r4r5rr@r rextendr#r$lenr:format)r&rto_addreckfps r'r%zFormData.add_fieldsYsf **Q--C#ry)) "3 22q#&&&&C.)!<==  ciikk****C$// CHHMM2q"%%%% 88>s      r)cg}|jD]#\}}}||d|f$|j|jnd}|dkrd}nd|z}tjt |d||S)Nr1zutf-8z!application/x-www-form-urlencodedz-application/x-www-form-urlencoded; charset=%sT)doseqencoding)r.)rr=rr BytesPayloadrencode)r&datar>_r2rr.s r'_gen_form_urlencodedzFormData._gen_form_urlencodedqs&*l 7 7 "L!U KKf-u5 6 6 6 6#'=#<$--' g  >LLMPWWL# d$ 9 9 9 @ @ B B%    r)c H|jrtd|jD]\}}} tj|vr.t j||tj||j}nt j|||j}n8#t$r+}tdt|d|d||d}~wwxYw|rC|j d d |j i||j J|j tjd|j|d |_|jS) zAEncode a list of fields using the multipart/form-data MIME formatz$Form data has been processed already)r.r?rN)r?rNzCan not serialize value type: z headers: z value: NrrT)r)r RuntimeErrorrr r;r get_payloadr Exceptionr:typeset_content_dispositionrr?popallCONTENT_LENGTHrappend_payload)r& dispparamsr?r2partexcs r'_gen_form_datazFormData._gen_form_datas   GEFF F*., . . &J $//".%,T->%? '!% DD#.wD   i15eggguuN   ?,,.2.@DN |/// ##D$7>>> L ' ' - - - -!|sAA>> B3&B..B3c`|jr|S|Sr+)rr`rSr,s r'__call__zFormData.__call__s1   /&&(( (,,.. .r))rTN)__name__ __module__ __qualname____doc__rrboolrr9r(propertyr-r@r%r rOrSr rr`rrbrr)r'rrs!#!!% !! !!# !  !!!!&"d"""X"'+"&37,<,<,<,<,< sm ,< 3- ,<$,C=,< ,<,<,<,<\#$0 g&:    $# 9####J/'//////r)r)r4typingrrrr urllib.parser multidictrr r r r helpersrr__all__rrr)r'ros 000000000000""""""////////&&&&&&&&&&###### ^/^/^/^/^/^/^/^/^/^/r)