403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.141.164.253
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python37/lib64/python3.7/site-packages/aiohttp/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python37/lib64/python3.7/site-packages/aiohttp/__pycache__/web_request.cpython-37.pyc
B

�k�a�l�
@s�UddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZddlm
Z
mZmZmZmZmZmZmZmZmZmZddlmZddlZddlmZmZmZmZddl m!Z!dd	l"m#Z#dd
l$m%Z%ddl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ddl0m1Z1dd
l2m3Z3ddl4m5Z5m6Z6ddl7m8Z8m9Z9ddl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ddlAmBZBddlCmDZDdZEe
�r�ddlFmGZGddlHmIZIddlJmKZKejLdddd�Gdd�d��ZMejNejOdZPe<eQeRd<deP�d�ZSe<eQeRd<d �Td!�Ud"d#�d$eVeWd%d&��D���ZXe<eQeRd'<d(ZYe<eQeRd)<d*jTeXeYd+�ZZe<eQeRd,<d-jTeSeZd.�Z[e<eQeRd/<e�\d0�Z]e<eeQeRd1<e�\e[�Z^e<eeQeRd2<Gd3d4�d4eeQefe,�Z_Gd5d6�d6e_�Z`dS)7�N)�SimpleCookie)�MappingProxyType)�
TYPE_CHECKING�Any�Dict�Iterator�Mapping�MutableMapping�Optional�Pattern�Tuple�Union�cast)�	parse_qsl)�CIMultiDict�CIMultiDictProxy�	MultiDict�MultiDictProxy)�URL�)�hdrs)�AbstractStreamWriter)	�DEBUG�ETAG_ANY�LIST_QUOTED_ETAG_RE�
ChainMapProxy�ETag�HeadersMixin�parse_http_date�reify�sentinel)�RawRequestMessage)�HttpVersion)�BodyPartReader�MultipartReader)�EmptyStreamReader�StreamReader)�DEFAULT_JSON_DECODER�Final�JSONDecoder�LooseHeaders�
RawHeaders�StrOrURL)�HTTPRequestEntityTooLarge)�StreamResponse)�BaseRequest�	FileField�Request)�Application)�RequestHandler)�UrlMappingMatchInfoT)Zauto_attribs�frozen�slotsc@s8eZdZUeed<eed<ejed<eed<ded<dS)r0�name�filename�file�content_typezCIMultiDictProxy[str]�headersN)�__name__�
__module__�__qualname__�str�__annotations__�io�BufferedReader�rCrC�F/opt/alt/python37/lib64/python3.7/site-packages/aiohttp/web_request.pyr0Ds


r0z!#$%&'*+.^_`|~-�_TCHAR�[z]+�_TOKENz[{}]�ccs|]}t|�VqdS)N)�chr)�.0�crCrCrD�	<genexpr>SsrL)�	� �!�#��_QDTEXTz
\\[\t !-~]�_QUOTED_PAIRz"(?:{quoted_pair}|{qdtext})*")ZqdtextZquoted_pair�_QUOTED_STRINGz0({token})=({token}|{quoted_string})(:\d{{1,4}})?)�tokenZ
quoted_string�_FORWARDED_PAIRz\\([\t !-~])�_QUOTED_PAIR_REPLACE_RE�_FORWARDED_PAIR_REc@s�eZdZejejejejejhZ	e
jeddddddddd	d
ddd
ddddg�BZdddddd�e
ededejeeeeefeeeeeedd�dd�Zeeeeeed�eeeeeedd�dd�Zedd�dd ��Zedd�d!d"��Zeeejd�d#d$��Z eed�d%d&��Z!e"e
d�d'd(��Z#e"e$d�d)d*��Z%e"ejd�d+d,��Z&eed-�d.d/�Z'eedd0�d1d2�Z(edd-�d3d4�Z)ed�d5d6�Z*e+ed�d7d8�Z,e"e-d�d9d:��Z.e"e/e0eefd;fd�d<d=��Z1e"ed�d>d?��Z2e"ed�d@dA��Z3e"e4d�dBdC��Z5e"ed�dDdE��Z6e"eed�dFdG��Z7e"e$d�dHdI��Z8e"ed�dJdK��Z9e"ed�dLdM��Z:e"ed�dNdO��Z;e"dPd�dQdR��Z<e"ed�dSdT��Z=e"dUd�dVdW��Z>e"e?d�dXdY��Z@e"eeAjAd�dZd[��ZBe"eeAjAd�d\d]��ZCeDee+eEd^�d_d`��ZFeGeeee/eEd;fda�dbdc��ZHe"ee/eEd;fd�ddde��ZIe"ee/eEd;fd�dfdg��ZJe"eeAjAd�dhdi��ZKe"e-d�djdk��ZLe"e0eefd�dldm��ZMe"eNd�dndo��ZOe"ed�dpdq��ZPee-d�drds��ZQee-d�dtdu��ZRe"e-d�dvdw��ZSdd�dxdy�ZTeUd�dzd{�ZVed�d|d}�ZWeXd~�eYed�d�d��ZZe[d�d�d��Z\d�d�d�d��Z]d�eeed��d�d��Z^ed�d�d��Z_e`e-d��d�d��Zae-d�d�d��Zbecdd��d�d��Zdeedd��d�d��ZfdS)�r/�_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_size�state�scheme�host�remoter3zasyncio.Task[None])�message�payload�protocol�payload_writer�task�looprjrkrlrmrn�returnc
Cs�|dkri}||_||_||_||_|j|_|j|_|j|_	|j
|_d|_d|_
||_i|_||_||_||_|jj}|dk	s�t�|�d�|_|�d�|_|	dk	r�|	|jd<|
dk	r�|
|jd<|dk	r�||jd<dS)NZ
sslcontextZpeernamerlrmrn)rYrZr[r\r;r]�methodr^�versionr_�urlr`rarbrcrdrerfrg�	transport�AssertionError�get_extra_inforhri)
�selfrorprqrrrsrtrjrkrlrmrnryrCrCrD�__init__�s6

zBaseRequest.__init__)rv�rel_urlr;rlrmrn)rvr~r;rlrmrnrucCs�|jrtd��i}|tk	r"||d<|tk	rFt|�}||d<t|�|d<|tk	rxtt|��|d<tdd�|��D��|d<|j	j
f|�}	i}
|tk	r�||
d	<|tk	r�||
d
<|tk	r�||
d<|j|	|j|j
|j|j|jf|j|j��d�|
��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 contentrvrx�pathr;css&|]\}}|�d�|�d�fVqdS)zutf-8N)�encode)rJ�k�vrCrCrDrL�sz$BaseRequest.clone.<locals>.<genexpr>�raw_headersrlrmrn)rjrk)rb�RuntimeErrorr rr?rr�tuple�itemsrY�_replace�	__class__r\rZr[rergrfrc�copy)r|rvr~r;rlrmrn�dctZnew_urlro�kwargsrCrCrD�clone�s>zBaseRequest.clone)rucCs|jS)N)re)r|rCrCrDrs�szBaseRequest.taskcCs|jS)N)rZ)r|rCrCrDrq�szBaseRequest.protocolcCs|jdkrdS|jjS)N)rZry)r|rCrCrDry�s
zBaseRequest.transportcCs|jS)N)r[)r|rCrCrD�writerszBaseRequest.writercCstjdtdd�|jS)NzRequest.message is deprecated�)�
stacklevel)�warnings�warn�DeprecationWarningrY)r|rCrCrDroszBaseRequest.messagecCs|jS)N)r`)r|rCrCrDr~
szBaseRequest.rel_urlcCstjdtdd�|jS)Nz#request.loop property is deprecated�)r�)r�r�r�rg)r|rCrCrDrtszBaseRequest.loop)�keyrucCs
|j|S)N)rc)r|r�rCrCrD�__getitem__szBaseRequest.__getitem__)r��valuerucCs||j|<dS)N)rc)r|r�r�rCrCrD�__setitem__szBaseRequest.__setitem__cCs|j|=dS)N)rc)r|r�rCrCrD�__delitem__ szBaseRequest.__delitem__cCs
t|j�S)N)�lenrc)r|rCrCrD�__len__#szBaseRequest.__len__cCs
t|j�S)N)�iterrc)r|rCrCrD�__iter__&szBaseRequest.__iter__cCs
|jdkS)z5A bool indicating if the request is handled with SSL.�https)rl)r|rCrCrD�secure+szBaseRequest.secure.cCsfg}�xV|jj�tjd�D�]>}t|�}d}d}i}|�t�|���xd|kr^|k�rXnn�t	�
||�}|dk	r�|r�|�d|�}n\|��\}}	}
|	ddkr�t
�d|	dd	��}	|
r�|	|
7}	|	||��<|t|�d��7}d
}qH||dk�rd}i}|�t�|��|d7}qH||dk�r2d}|d7}qH||dk�rJ|d7}qH|�d|�}qHWqWt|�S)
a�A 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
        rCrFN�,�"z\1r���T�;z 	)rYr;ZgetallrZ	FORWARDEDr��append�typesrrX�match�find�groupsrW�sub�lower�groupr�)r|ZelemsZfield_value�length�posZneed_separator�elemr�r7r��portrCrCrD�	forwarded0s@


zBaseRequest.forwardedcCs|jr
dSdSdS)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'.
        r��httpN)rh)r|rCrCrDrlmszBaseRequest.schemecCs|jS)zyRead only property for getting HTTP method.

        The value is upper-cased str like 'GET', 'POST', 'PUT' etc.
        )r^)r|rCrCrDrv}szBaseRequest.methodcCs|jS)zxRead only property for getting HTTP version of request.

        Returns aiohttp.protocol.HttpVersion instance.
        )r_)r|rCrCrDrw�szBaseRequest.versioncCs$|jj�tj�}|dk	r|St��S)z�Hostname of the request.

        Hostname is resolved in this order:

        - overridden value by .clone(host=new_host) call.
        - HOST HTTP header
        - socket.getfqdn() value
        N)rYr;�getrZHOST�socket�getfqdn)r|rmrCrCrDrm�s
zBaseRequest.hostcCs6|jdkrdSt|jttf�r,t|jd�St|j�S)z�Remote 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)ri�
isinstance�listr�r?)r|rCrCrDrn�s
	
zBaseRequest.remotecCstj|j|jd�}|�|j�S)N)rlrm)r�buildrlrm�joinr`)r|rxrCrCrDrx�szBaseRequest.urlcCs|jjS)z_The URL including *PATH INFO* without the host or scheme.

        E.g., ``/app/blog``
        )r`r)r|rCrCrDr�szBaseRequest.pathcCs
t|j�S)zXThe URL including PATH_INFO and the query string.

        E.g, /app/blog?id=10
        )r?r`)r|rCrCrD�path_qs�szBaseRequest.path_qscCs|jjS)z�The 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``
        )rYr)r|rCrCrD�raw_path�szBaseRequest.raw_pathzMultiDictProxy[str]cCst|jj�S)z7A multidict with all the variables in the query string.)rr`�query)r|rCrCrDr��szBaseRequest.querycCs|jjS)z:The query string in the URL.

        E.g., id=10
        )r`�query_string)r|rCrCrDr��szBaseRequest.query_stringzCIMultiDictProxy[str]cCs|jS)z4A case-insensitive multidict proxy with all headers.)r])r|rCrCrDr;�szBaseRequest.headerscCs|jjS)z$A sequence of pairs for all headers.)rYr�)r|rCrCrDr��szBaseRequest.raw_headerscCst|j�tj��S)zyThe value of If-Modified-Since HTTP header, or None.

        This header is represented as a `datetime` object.
        )rr;r�rZIF_MODIFIED_SINCE)r|rCrCrD�if_modified_since�szBaseRequest.if_modified_sincecCst|j�tj��S)z{The value of If-Unmodified-Since HTTP header, or None.

        This header is represented as a `datetime` object.
        )rr;r�rZIF_UNMODIFIED_SINCE)r|rCrCrD�if_unmodified_since�szBaseRequest.if_unmodified_since)�etag_headerruccs\|tkrtdtd�Vn@x>t�|�D]0}|�ddd�\}}}|rBPtt|�|d�Vq$WdS)z'Extract `ETag` objects from raw header.F)�is_weakr�r�r��N)rrr�finditerr��bool)r�r�r�r�ZgarbagerCrCrD�_etag_values�szBaseRequest._etag_values)�header_valuerucCs|sdSt|�|��S)N)r�r�)�clsr�rCrCrD�_if_match_or_none_implsz"BaseRequest._if_match_or_none_implcCs|�|j�tj��S)zxThe value of If-Match HTTP header, or None.

        This header is represented as a `tuple` of `ETag` objects.
        )r�r;r�rZIF_MATCH)r|rCrCrD�if_matchszBaseRequest.if_matchcCs|�|j�tj��S)z}The value of If-None-Match HTTP header, or None.

        This header is represented as a `tuple` of `ETag` objects.
        )r�r;r�rZ
IF_NONE_MATCH)r|rCrCrD�
if_none_matchszBaseRequest.if_none_matchcCst|j�tj��S)zpThe value of If-Range HTTP header, or None.

        This header is represented as a `datetime` object.
        )rr;r�rZIF_RANGE)r|rCrCrD�if_rangeszBaseRequest.if_rangecCs
|jjS)zIs keepalive enabled by client?)rYZshould_close)r|rCrCrD�
keep_alive'szBaseRequest.keep_alivecCs.|j�tjd�}t|�}tdd�|��D��S)zMReturn request cookies.

        A read-only dictionary-like object.
        rHcSsi|]\}}|j|�qSrC)r�)rJr��valrCrCrD�
<dictcomp>4sz'BaseRequest.cookies.<locals>.<dictcomp>)r;r�rZCOOKIErrr�)r|�raw�parsedrCrCrD�cookies,szBaseRequest.cookiescCs�|j�tj�}d\}}|dk	r�yd}t�||�d\}}Wntk
rVtd��YnX|rdt|�nd}|rtt|�nd}|dkr�|dk	r�|}d}|dk	r�|dk	r�|d7}||kr�td��||kr�dkr�nntd��t	||d�S)	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)
r]r�r�RANGE�re�findall�
IndexError�
ValueError�int�slice)r|�rng�start�end�patternrCrCrD�
http_range6s(zBaseRequest.http_rangecCs|jS)zReturn raw payload stream.)r\)r|rCrCrD�contentZszBaseRequest.contentcCstjdtdd�|j��S)z@Return True if request's HTTP BODY can be read, False otherwise.z$Deprecated, use .can_read_body #2005r�)r�)r�r�r�r\�at_eof)r|rCrCrD�has_body_szBaseRequest.has_bodycCs|j��S)z@Return True if request's HTTP BODY can be read, False otherwise.)r\r�)r|rCrCrD�
can_read_bodygszBaseRequest.can_read_bodycCst|j�tk	S)z6Return True if request has HTTP BODY, False otherwise.)�typer\r%)r|rCrCrD�body_existslszBaseRequest.body_existsc�s$x|j��s|j��IdHqWdS)zKRelease request.

        Eat unread part of HTTP BODY if present.
        N)r\r��readany)r|rCrCrD�releaseqszBaseRequest.releasec�sl|jdkrft�}xJ|j��IdH}|�|�|jrRt|�}||jkrRt|j|d��|sPqWt|�|_|jS)z_Read request body if present.

        Returns bytes object with full request content.
        N)�max_size�actual_size)	rb�	bytearrayr\r��extendrfr�r-�bytes)r|�body�chunkZ	body_sizerCrCrD�readys



zBaseRequest.readc�s"|��IdH}|jpd}|�|�S)z1Return BODY as text using encoding from .charset.Nzutf-8)r��charset�decode)r|Z
bytes_body�encodingrCrCrD�text�s
zBaseRequest.text)�loads)r�ruc�s|��IdH}||�S)zReturn BODY as JSON.N)r�)r|r�r�rCrCrD�json�szBaseRequest.jsonc�st|j|j�S)z3Return async iterator to process BODY as multipart.)r$r]r\)r|rCrCrD�	multipart�szBaseRequest.multipartz,MultiDictProxy[Union[str, bytes, FileField]]c�s�|jdk	r|jS|j|jkr.tt��|_|jS|j}|dkrNtt��|_|jSt�}|dk�r:|��IdH}|j}|��IdH}�x�|dk	�r6d}|j	�
tj�}t
|t��r|jdk	s�t�|j�r�t��}|jdd�IdH}	xl|	�rH|�|	�}	|�|	�|t|	�7}d|k�r|k�r4nn|��t||d��|jdd�IdH}	q�W|�d�|dk�rbd}t|j|jttj|�||j	�}
|�|j|
�n�|j d	d
�IdH}|dk�s�|�!d��r�|j"dd
�}|�|j|�|��n|�|j|�|t|�7}d|k�r|k�r&nnt||d��nt#d��|��IdH}q�Wn>|� �IdH}
|
�rx|j$�pXd}|�%t&|
�'��|�d	|d��t|�|_|jS)zReturn POST parameters.N)rHz!application/x-www-form-urlencodedzmultipart/form-datazmultipart/form-datari)�size)r�r�zapplication/octet-streamT)r�ztext/zutf-8)�defaultz8To decode nested multipart you need to use custom reader)�keep_blank_valuesr�)(rar^�POST_METHODSrrr:r�rf�nextr;r�rZCONTENT_TYPEr�r#r7rzr8�tempfile�
TemporaryFileZ
read_chunkr��writer��closer-�seekr0rrArB�addr��
startswith�get_charsetr�r�r�r�rstrip)r|r:�outr�r��fieldr�Zfield_ct�tmpr�Zffr�r��datarCrCrD�post�s�









zBaseRequest.post)r7r�rucCs0|j}|dkr|S|j}|dkr$|S|�||�S)z"Extra info from protocol transportN)rZryr{)r|r7r�rqryrCrCrDr{�szBaseRequest.get_extra_infocCs(|j�dd��d�}d�|jj|j|�S)N�ascii�backslashreplacez<{} {} {} >)rr�r��formatr�r<r^)r|Zascii_encodable_pathrCrCrD�__repr__	szBaseRequest.__repr__)�otherrucCst|�t|�kS)N)�id)r|r
rCrCrD�__eq__szBaseRequest.__eq__cCsdS)NTrC)r|rCrCrD�__bool__szBaseRequest.__bool__)�responseruc�sdS)NrC)r|rrCrCrD�
_prepare_hookszBaseRequest._prepare_hook)�excrucCs|j�|�dS)N)r\�
set_exception)r|rrCrCrD�_cancelszBaseRequest._cancel)N)gr<r=r>rZ
METH_PATCHZ	METH_POSTZMETH_PUTZ
METH_TRACEZMETH_DELETEr�r�ATTRS�	frozensetr!r&r�asyncioZAbstractEventLoopr�r
rr?rr}r r,r*r��propertyrsrqZ	Transportryr�rrorr~rtr�r�r�r�rr�r�r�rrr�rlrvr"rwrmrnrxrr�r�r�r�r;r+r��datetimer�r��staticmethodrr��classmethodr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r)r�r$r�rr{r	�objectrr
r.r�
BaseExceptionrrCrCrCrDr/ns�

6&. <		#`r/c	s�eZdZejedg�BZeedd��fdd�ZerHe	edd��fdd�Z
eeeeeed	�e	ee
e	e	e	dd
��fdd�Zed
d�dd��Zedd�dd��Zeed�dd��Zedd�dd�Z�ZS)r1�_match_infoN)�argsr�rucst�j||�d|_dS)N)�superr}r)r|rr�)r�rCrDr}"szRequest.__init__)r7r�rucs8||jkr&tjd�|jj|�tdd�t��||�dS)Nz-Setting custom {}.{} attribute is discouragedr�)r�)	rr�r�rr�r<r�r�__setattr__)r|r7r�)r�rCrDr-s

zRequest.__setattr__)rvr~r;rlrmrn)rvr~r;rlrmrnruc	s.t�j||||||d�}tt|�}|j|_|S)N)rvr~r;rlrmrn)rr�rr1r)	r|rvr~r;rlrmrn�retZnew_ret)r�rCrDr�7s

z
Request.cloner4)rucCs|j}|dk	st�|S)zResult of route resolving.N)rrz)r|�
match_inforCrCrDr!MszRequest.match_infor2cCs|j}|dk	st�|jS)zApplication instance.N)rrzZcurrent_app)r|r!rCrCrD�appTszRequest.appcCsH|j}|dk	st�|j}|j}|�|�}tt|d|d���}t|�S)Nr)rrzZappsr"�indexr��reversedr)r|r!�lstr"�idxZsublistrCrCrD�config_dict[s
zRequest.config_dict)rruc�s:|j}|dkrdSx"|jD]}|j�||�IdHqWdS)N)rZ_appsZon_response_prepare�send)r|rr!r"rCrCrDres
zRequest._prepare_hook)r<r=r>r/rrrr}rr?rr r,r*r�rr!rr"rr'r.r�
__classcell__rCrC)r�rDr1s$	

	r1)arrrAr�r��stringr�r�r�Zhttp.cookiesrr�typingrrrrrr	r
rrr
r�urllib.parser�attrZ	multidictrrrrZyarlrrHr�abcrZhelpersrrrrrrrrr Zhttp_parserr!Zhttp_writerr"r�r#r$Zstreamsr%r&Ztypedefsr'r(r)r*r+r,Zweb_exceptionsr-Zweb_responser.�__all__Zweb_appr2Zweb_protocolr3Zweb_urldispatcherr4�sr0�digits�
ascii_lettersrEr?r@rGrr�r��rangerRrSrTrV�compilerWrXr/r1rCrCrCrD�<module>sd4
, 	05

Youez - 2016 - github.com/yon3zu
LinuXploit