bgTp zUddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddlm Z ddl m Z mZmZmZmZmZmZmZmZmZmZmZddlmZddlZddlmZmZmZm Z m!Z!ddl"m#Z#dd l$m%Z%dd l&m'Z'dd l(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2dd l3m4Z4dd l5m6Z6ddl7m8Z8m9Z9ddl:m;Z;mZ>m?Z?m@Z@mAZAmBZBddlCmDZDddlEmFZFdZGe rddlHmIZIddlJmKZKddlLmMZMejNdddGddZOejPejQzdzZReeSeTd<deRdZUeeSeTd<d Vd!Wd"d#eXeYd$d%zDZZeeSeTd&<d'Z[eeSeTd(<d)VeZe[*Z\eeSeTd+<d,VeUe\-Z]eeSeTd.<ej^d/Z_eeeSeTd0<ej^e]Z`eeeSeTd1<Gd2d3eeSefe/ZaGd4d5eaZbdS)6N) SimpleCookie)MappingProxyType) TYPE_CHECKINGAnyDictFinalIteratorMappingMutableMappingOptionalPatternTupleUnioncast) parse_qsl) CIMultiDictCIMultiDictProxy MultiDictMultiDictProxy MultiMapping)URL)hdrs)AbstractStreamWriter) _SENTINELDEBUGETAG_ANYLIST_QUOTED_ETAG_RE ChainMapProxyETag HeadersMixinparse_http_datereifysentinel)RawRequestMessage) HttpVersion)BodyPartReaderMultipartReader)EmptyStreamReader StreamReader)DEFAULT_JSON_DECODER JSONDecoder LooseHeaders RawHeadersStrOrURL)HTTPRequestEntityTooLarge)StreamResponse) BaseRequest FileFieldRequest) Application)RequestHandler)UrlMappingMatchInfoT) auto_attribsfrozenslotscLeZdZUeed<eed<ejed<eed<ded<dS)r3namefilenamefile content_typezCIMultiDictProxy[str]headersN)__name__ __module__ __qualname__str__annotations__ioBufferedReaderJ/opt/cloudlinux/venv/lib64/python3.11/site-packages/aiohttp/web_request.pyr3r3KsK IIIMMM  $$$$$$rIr3z!#$%&'*+.^_`|~-_TCHAR[z]+_TOKENz[{}]c#4K|]}t|VdSN)chr).0cs rJ rTZs( K KSVV K K K K K KrI) !#_QDTEXTz \\[\t !-~] _QUOTED_PAIRz"(?:{quoted_pair}|{qdtext})*")qdtext quoted_pair_QUOTED_STRINGz0({token})=({token}|{quoted_string})(:\d{{1,4}})?)token quoted_string_FORWARDED_PAIRz \\([\t !-~])_QUOTED_PAIR_REPLACE_RE_FORWARDED_PAIR_REceZdZejejejejejhZ e j e gdzZ ddddddde deddd ed d d ejd edeeeefdeedeedeeddfdZeeeeeeeddeeefdeeefdeeefdeeefdeeefdeeefd eeefddfdZed]dZed^dZ edeej!fdZ"edefdZ#edefdZ$e%de fdZ&e%de'fdZ(e%dejfd Z)d!edefd"Z*d!ed#eddfd$Z+d!eddfd%Z,defd&Z-de.efd'Z/e%de0fd(Z1e%de2e3eefd)ffd*Z4e%defd+Z5e%defd,Z6e%de7fd-Z8e%defd.Z9e%deefd/Z:e%de'fd0Z;e%defd1Ze%d_d5Z?e%defd6Z@e%d_d7ZAe%deBfd8ZCe%deeDjDfd9ZEe%deeDjDfd:ZFeGd;ede.eHfd<ZIeJd=eedee2eHd)ffd>ZKe%dee2eHd)ffd?ZLe%dee2eHd)ffd@ZMe%deeDjDfdAZNe%de0fdBZOe%de3eeffdCZPe%deQfdDZRe%defdEZSede0fdFZTede0fdGZUe%de0fdHZVd`dIZWdeXfdJZYdefdKZZe[dLdMe\defdNZ]de^fdOZ_dadQZ`dbdRedSedefdTZadefdUZbdVecde0fdWZdde0fdXZedYefddfdZZgd[ehddfd\ZidS)cr2)_message _protocol_payload_writer_payload_headers_method_version_rel_url_post _read_bytes_state_cache_task_client_max_size_loop_transport_sslcontext_transport_peernameiN)client_max_sizestateschemehostremotemessagepayloadprotocolr6payload_writertaskasyncio.Task[None]looprvrwrxryrzreturnc|i}||_||_||_||_|j|_|j|_|j|_ i|_ |j } | rB| |j d<| j |j d<| j|j d<| |_n |j |_d|_d|_||_||_||_||_|jj} | J| d|_| d|_| | |j d<| | |j d<| | |j d<dSdS)Nurlryrx sslcontextpeernamerz)rerfrgrhr@rimethodrjversionrkrpr is_absoluteryrxrelativerlrmrnrorqrrrs transportget_extra_infortru)selfr{r|r}r~rrrvrwrxryrzrrs rJ__init__zBaseRequest.__init__s\ =E !-  ~  &( k ??   ("%DK "%(DK $'JDK !LLNNDMM#KDMMQ ,0  / N, $$$%.%=%=l%K%K"#,#;#;J#G#G  $*DK !  "&DK   $*DK ! ! !  rIrrel_urlr@rxryrzrvrrr@c|jrtdi}|tur||d<|tur&t|} | |d<t | |d<|turMt t ||d<td|D|d<|j j d i|} i} |tur|| d<|tur|| d <|tur|| d <|tur|j }|j | |j |j|j|j|jf||jd | S) aClone itself with replacement some attributes. Creates and returns a new instance of Request object. If no parameters are given, an exact copy is returned. If a parameter is not passed, it will reuse the one from the current request object. z.Cannot clone request after reading its contentrrpathr@c3pK|]1\}}|d|dfV2dS)utf-8N)encode)rRkvs rJrTz$BaseRequest.clone..sT'';?1a'""AHHW$5$56''''''rI raw_headersrxryrz)rvrwrH)rn RuntimeErrorr$rrDrrtupleitemsre_replacerr __class__rhrfrgrqrsrocopy) rrrr@rxryrzrvdctnew_urlr{kwargss rJclonezBaseRequest.clones"   TRSS S   ! !"CM ( " "w< !4~''rIc|jSrP)rgrs rJwriterzBaseRequest.writers ##rIc|jSrP)rrrs rJrvzBaseRequest.client_max_sizes $$rIcHtjdtd|jS)NzRequest.message is deprecated stacklevel)warningswarnDeprecationWarningrers rJr{zBaseRequest.messages$ 57IVWXXXX}rIc|jSrP)rlrs rJrzBaseRequest.rel_url#s }rIcHtjdtd|jS)Nz#request.loop property is deprecatedr)rrrrsrs rJrzBaseRequest.loop's. 13ERS    zrIkeyc|j|SrProrrs rJ __getitem__zBaseRequest.__getitem__0s{3rIvaluec||j|<dSrPr)rrrs rJ __setitem__zBaseRequest.__setitem__3s  CrIc|j|=dSrPrrs rJ __delitem__zBaseRequest.__delitem__6s K   rIc*t|jSrP)lenrors rJ__len__zBaseRequest.__len__9s4;rIc*t|jSrP)iterrors rJ__iter__zBaseRequest.__iter__<sDK   rIc|jdkS)z5A bool indicating if the request is handled with SSL.https)rxrs rJsecurezBaseRequest.secureAs{g%%rI.cg}|jjtjdD]}t |}d}d}i}|tj|d|cxkr|krOnPt ||}||r| d|}n| \}} } | ddkr#td| dd } | r| | z } | ||<|t |dz }d }nw||dkr1d}i}|tj||dz }n:||d krd}|dz }n&||d vr|dz }n| d|}d|cxkr|kIt#|S) aA tuple containing all parsed Forwarded header(s). Makes an effort to parse Forwarded headers as specified by RFC 7239: - It adds one (immutable) dictionary per Forwarded 'field-value', ie per proxy. The element corresponds to the data in the Forwarded field-value added by the first proxy encountered by the client. Each subsequent item corresponds to those added by later proxies. - It checks that every value has valid syntax in general as specified in section 4: either a 'token' or a 'quoted-string'. - It un-escapes found escape sequences. - It does NOT validate 'by' and 'for' contents as specified in section 6. - It does NOT validate 'host' contents (Host ABNF). - It does NOT validate 'proto' contents for valid URI scheme names. Returns a tuple containing one or more immutable dicts rHrFN,"z\1rT;z )rer@getallr FORWARDEDrappendtypesrrcmatchfindgroupsrbsublowergroupr) relems field_valuelengthposneed_separatorelemrr<rports rJ forwardedzBaseRequest.forwardedFs(=077KK% 5% 5K%%FC"N#%D LL/55 6 6 6s####V#####*00cBB$% .)..sC88,1LLNN)eT 8s??$;$?$?uQrT{$S$SE*!TME-2TZZ\\*s5;;q>>222)- %,,%*NDLL!7!=!=>>>1HCC %,,%*N1HCC %..1HCC&**344C?s####V####@U||rIc|jrdSdS)aA string representing the scheme of the request. Hostname is resolved in this order: - overridden value by .clone(scheme=new_scheme) call. - type of connection to peer: HTTPS if socket is SSL, HTTP otherwise. 'http' or 'https'. rhttp)rtrs rJrxzBaseRequest.schemes  % 76rIc|jS)zyRead only property for getting HTTP method. The value is upper-cased str like 'GET', 'POST', 'PUT' etc. )rjrs rJrzBaseRequest.methods |rIc|jS)zxRead only property for getting HTTP version of request. Returns aiohttp.protocol.HttpVersion instance. )rkrs rJrzBaseRequest.versions }rIc|jjtj}||St jS)zHostname of the request. Hostname is resolved in this order: - overridden value by .clone(host=new_host) call. - HOST HTTP header - socket.getfqdn() value )rer@getrHOSTsocketgetfqdn)rrys rJryzBaseRequest.hosts7}$((33  K~rIc|jdSt|jttfrt |jdSt |jS)zRemote IP of client initiated HTTP request. The IP is resolved in this order: - overridden value by .clone(remote=new_remote) call. - peername of opened socket Nr)ru isinstancelistrrDrs rJrzzBaseRequest.remotesR  # +4 d.u > > 4t/233 34+,,,rIcvtj|j|j}||jS)N)rxry)rbuildrxryjoinrl)rrs rJrzBaseRequest.urls.it{;;;xx &&&rIc|jjS)z_The URL including *PATH INFO* without the host or scheme. E.g., ``/app/blog`` )rlrrs rJrzBaseRequest.paths }!!rIc*t|jS)zXThe URL including PATH_INFO and the query string. E.g, /app/blog?id=10 )rDrlrs rJpath_qszBaseRequest.path_qss 4=!!!rIc|jjS)zThe URL including raw *PATH INFO* without the host or scheme. Warning, the path is unquoted and may contains non valid URL characters E.g., ``/my%2Fpath%7Cwith%21some%25strange%24characters`` )rerrs rJraw_pathzBaseRequest.raw_paths}!!rIMultiMapping[str]c4t|jjS)z7A multidict with all the variables in the query string.)rrlqueryrs rJrzBaseRequest.querysdm1222rIc|jjS)z:The query string in the URL. E.g., id=10 )rl query_stringrs rJrzBaseRequest.query_strings }))rIc|jS)z4A case-insensitive multidict proxy with all headers.)rirs rJr@zBaseRequest.headers }rIc|jjS)z$A sequence of pairs for all headers.)rerrs rJrzBaseRequest.raw_headerss}((rIcdt|jtjS)zyThe value of If-Modified-Since HTTP header, or None. This header is represented as a `datetime` object. )r"r@rrIF_MODIFIED_SINCErs rJif_modified_sincezBaseRequest.if_modified_sinces% t|//0FGGHHHrIcdt|jtjS)z{The value of If-Unmodified-Since HTTP header, or None. This header is represented as a `datetime` object. )r"r@rrIF_UNMODIFIED_SINCErs rJif_unmodified_sincezBaseRequest.if_unmodified_sinces% t|//0HIIJJJrI etag_headerc#K|tkrtdtVdStj|D]B}|ddd\}}}|rdStt ||VCdS)z'Extract `ETag` objects from raw header.F)is_weakrrrN)rr rfinditerrbool)rrrrgarbages rJ _etag_valueszBaseRequest._etag_valuess ( " "      -5kBB  */++aA*>*>'EE MM  rI header_valuecN|sdSt||SrP)rr)clsrs rJ_if_match_or_none_implz"BaseRequest._if_match_or_none_impls- 4S%%l33444rIcp||jtjS)zxThe value of If-Match HTTP header, or None. This header is represented as a `tuple` of `ETag` objects. )r r@rrIF_MATCHrs rJif_matchzBaseRequest.if_match%s* **4<+;+;DM+J+JKKKrIcp||jtjS)z}The value of If-None-Match HTTP header, or None. This header is represented as a `tuple` of `ETag` objects. )r r@rr IF_NONE_MATCHrs rJ if_none_matchzBaseRequest.if_none_match-s+ **4<+;+;D>???rIc|jj S)zIs keepalive enabled by client?)re should_closers rJ keep_alivezBaseRequest.keep_alive=s=---rIc|jtjd}t |}t d|DS)zMReturn request cookies. A read-only dictionary-like object. rNc$i|] \}}||jSrH)r)rRrvals rJ z'BaseRequest.cookies..Js O O OHCci O O OrI)r@rrCOOKIErrr)rrawparseds rJcookieszBaseRequest.cookiesBsO lt{B//c"" O O  O O OPPPrIc|jtj}d\}}| d}t j||d\}}n#t $rtdwxYw|rt|nd}|rt|nd}||| }d}|||dz }||krtd||cxurnntdt||dS) zMThe content of Range HTTP header. Return a slice instance. )NNNz^bytes=(\d*)-(\d*)$rzrange not in acceptable formatrzstart cannot be after endz"No start or end of range specified) rirrRANGErefindall IndexError ValueErrorintslice)rrngstartendpatterns rJ http_rangezBaseRequest.http_rangeLs&m ++ s ? C0Z55a8 ss C C C !ABBB C"+#c(((tC"'1CJJJTE} S_qC<<$%@AAA######## !EFFFUC###s AA(c|jS)zReturn raw payload stream.)rhrs rJcontentzBaseRequest.contentprrIcntjdtd|j S)@Return True if request's HTTP BODY can be read, False otherwise.z$Deprecated, use .can_read_body #2005rr)rrrrhat_eofrs rJhas_bodyzBaseRequest.has_bodyus?  24FST    =''))))rIc6|j S)r0)rhr1rs rJ can_read_bodyzBaseRequest.can_read_body}s=''))))rIc8t|jtuS)z6Return True if request has HTTP BODY, False otherwise.)typerhr)rs rJ body_existszBaseRequest.body_existssDM""*;;;rIcK|js:|jd{V|j8dSdS)zKRelease request. Eat unread part of HTTP BODY if present. N)rhr1readanyrs rJreleasezBaseRequest.releasesp -&&(( *-'')) ) ) ) ) ) ) )-&&(( * * * * *rIcFK|jt} |jd{V}|||jr0t |}||jkrt|j||snot||_|jS)z_Read request body if present. Returns bytes object with full request content. NTmax_size actual_size) rn bytearrayrhr9extendrrrr0bytes)rbodychunk body_sizes rJreadzBaseRequest.reads   #;;D "m3355555555 E"""( #D I D$9997%)%:   %T{{D rIcvK|d{V}|jpd}||S)z1Return BODY as text using encoding from .charset.Nr)rEcharsetdecode)r bytes_bodyencodings rJtextzBaseRequest.textsE99;;&&&&&& <*7  ***rI)loadsrLcPK|d{V}||S)zReturn BODY as JSON.N)rK)rrLrBs rJjsonzBaseRequest.jsons3YY[[      uT{{rIc:Kt|j|jS)z3Return async iterator to process BODY as multipart.)r(rirhrs rJ multipartzBaseRequest.multipartst}dm<< : !:  ??e^442 :111 ~'&466&+&6&6E&6&B&B B B B B B B# G$)LL$7$7EIIe,,, CJJ.D 82222d22222 # &?-54'"'"'"!"+0*:*:*:*F*F$F$F$F$F$F$FE$ G #+'AH&!J!N !2C88$!M  B////',jjj&=&= = = = = = =#+x/B/B7/K/K+&+&7&7&7&H&HGGGEJ W0E0EFFFFGGEJ666E *x....$.....";)1t###/ %U(nn........q#t$$$$$$D ,1'  ,,W55*.!($C(( zrIr<rUcZ|j}||S|j}||S|||S)z"Extra info from protocol transport)rfrr)rr<rUr}rs rJrzBaseRequest.get_extra_infos=>  N&  N''g666rIc|jddd}d|jj|j|S)Nasciibackslashreplacez <{} {} {} >)rrrHformatrrArj)rascii_encodable_paths rJ__repr__zBaseRequest.__repr__sW#y//9KLLSS   ## N #T\3G   rIothercBt|t|kSrP)id)rrrs rJ__eq__zBaseRequest.__eq__'s$xx2e99$$rIcdS)NTrHrs rJ__bool__zBaseRequest.__bool__*strIresponsec KdSrPrH)rrxs rJ _prepare_hookzBaseRequest._prepare_hook-s rIexcc:|j|dSrP)rh set_exception)rr{s rJ_cancelzBaseRequest._cancel0s ##C(((((rI)rr)rr6)rr)rN)rrQrP)jrArBrCr METH_PATCH METH_POSTMETH_PUT METH_TRACE METH_DELETErWr!ATTRS frozensetr%r*rasyncioAbstractEventLoopr&r rrDrrr$rrr/r-rpropertyrr} Transportrrrvr#r{rrrrrrrr rrrrr rrxrr&rryrzrrrrrrr@r.rdatetimerr staticmethodr r classmethodr rrrrrr'r,r.r2r4r7r:rArErKr+r,rNr(rPrjrrqobjectrurwr1rz BaseExceptionr~rHrIrJr2r2us;       L     "" E> '*. $" $7+7+7+"7+7+# 7+ - 7+ # 7+'7+7+S#X'7+ 7+sm7+ 7+ 7+7+7+7+x)1.62:(0&.(0198 8 8 c9n%8 x*+ 8 |Y./ 8 c9n% 8 CN#8 c9n%8 sI~.8  8 8 8 8 tXX(8G$56(((X( $,$$$X$%%%%X% * U  U g/ U s s    !s!3!4!!!!st     !(3-!!!!  &&&& U& :5c!2C!78::: U:x      U   U  U   c     U    - - - - U - 'S''' U' "c""" U" """" U" "#""" U" 333 U3 *c*** U*  U )Z))) U) I8H,=#>III UI KXh.?%@KKK UK#(4.\(5#C=5 %c " #555[5 L(5s#34LLL UL QxdCi(89QQQ UQ @(8#45@@@ U@ .D... U. Qc*QQQ UQ !$E!$!$!$ U!$F  U*$***X**t***X* > > > > > > > > > ? ?rI)rr7)rr5)rArBrCr2rrrrrrDrr$rrr/r-r&rr#rrrrrr1rz __classcell__)rs@rJr4r44s   =/ : : :E?c?S?T?????? + +C +c +d + + + + + +)1.62:(0&.(019c9n%x*+  |Y./  c9n% CN#c9n%sI~. 0  U &&&X& &]&&&X&?N?t????????rIr4)crrrFr"rstringrZrr http.cookiesrrtypingrrrrr r r r r rrr urllib.parserattr multidictrrrrryarlrrNrabcrhelpersrrrrrr r!r"r#r$ http_parserr% http_writerr&rPr'r(streamsr)r*typedefsr+r,r-r.r/web_exceptionsr0 web_responser1__all__web_appr5 web_protocolr6web_urldispatcherr7sr3digits ascii_lettersrKrDrErMrorrrangerZr[r^racompilerbrcr2r4rHrIrJrsd  %%%%%%""""""                            #""""" %%%%%%                        +*****$$$$$$6666666644444444655555(((((( 17$$$$$$,,,,,,666666T$d333%%%%%%%43%]V%99> ? 0:rz//J/Jws|,JJJ+5"*_*E*EE'#,'EEE| )| )| )| )| ).c*L| )| )| )~N?N?N?N?N?kN?N?N?N?N?rI