403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.133.127.132
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__/http_parser.cpython-37.pyc
B

�k�aN�@s�UddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZmZm
Z
mZmZmZmZmZmZmZmZmZddlmZmZmZddlmZddlmZdd	lm Z dd
l!m"Z"m#Z#ddl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ddl,m-Z-m.Z.dd
l/m0Z0ddl1m2Z2m3Z3ddl4m5Z5m6Z6yddl7Z7dZ8Wne9k
�rTdZ8YnXdZ:e;ej<�Z=e5ee>e?d<e�@d�ZAe5ee>e?d<e�@d�ZBe5ee>e?d<e�@d�ZCe5eeDe?d<Gdd�de�ZEe�Fddddd d!d"d#d$d%g	�ZGed&eEeG�ZHGd'd(�d(e	�ZIGd)d*�d*e	�ZJGd+d,�d,�ZKGd-d.�d.ejLeeH�ZMGd/d0�d0eMeE�ZNGd1d2�d2eMeG�ZOGd3d4�d4�ZPGd5d6�d6�ZQeNZReOZSeEZTeGZUy2e"�s�dd7lVmNZNmOZOmEZEmGZGeNZWeOZXeEZYeGZZWne9k
�r�YnXdS)8�N)�suppress)�IntEnum)�Any�Generic�List�
NamedTuple�Optional�Pattern�Set�Tuple�Type�TypeVar�Union�cast)�CIMultiDict�CIMultiDictProxy�istr)�URL�)�hdrs)�BaseProtocol)�
NO_EXTENSIONS�BaseTimerContext)�BadHttpMessage�
BadStatusLine�ContentEncodingError�ContentLengthError�
InvalidHeader�LineTooLong�TransferEncodingError)�HttpVersion�
HttpVersion10)�internal_logger)�
EMPTY_PAYLOAD�StreamReader)�Final�
RawHeadersTF)�
HeadersParser�
HttpParser�HttpRequestParser�HttpResponseParser�RawRequestMessage�RawResponseMessage�ASCIISETz[!#$%&'*+\-.^_`|~0-9A-Za-z]+�METHREzHTTP/(\d+).(\d+)�VERSREs'[\x00-\x1F\x7F()<>@,;:\[\]={} \t\\\\\"]�HDRREc@sbeZdZUeed<eed<eed<ded<eed<eed<eeed<eed	<eed
<e	ed<dS)
r+�method�path�versionzCIMultiDictProxy[str]�headers�raw_headers�should_close�compression�upgrade�chunked�urlN)
�__name__�
__module__�__qualname__�str�__annotations__r r&�boolrr�rArA�F/opt/alt/python37/lib64/python3.7/site-packages/aiohttp/http_parser.pyr+Ks
r+r,r3�code�reasonr4r5r6r7r8r9�_MsgTc@seZdZdZdZdZdZdS)�
ParseStaterr��N)r;r<r=�
PARSE_NONE�PARSE_LENGTH�
PARSE_CHUNKED�PARSE_UNTIL_EOFrArArArBrFksrFc@s eZdZdZdZdZdZdZdS)�
ChunkStaterrrGrH�N)r;r<r=�PARSE_CHUNKED_SIZE�PARSE_CHUNKED_CHUNK�PARSE_CHUNKED_CHUNK_EOF�PARSE_MAYBE_TRAILERS�PARSE_TRAILERSrArArArBrMss
rMc@s>eZdZdeeedd�dd�Zeeedefd�d	d
�Z	dS)r'���N)�
max_line_size�max_headers�max_field_size�returncCs||_||_||_dS)N)rVrWrX)�selfrVrWrXrArArB�__init__|szHeadersParser.__init__zCIMultiDictProxy[str])�linesrYcCs�t�}g}d}|d}t|�}�x�|�r�y|�dd�\}}Wntk
rZt|�d�YnX|�d�}|��}t�|�r�t|��t|�|j	kr�t
d�|�dd��t
|j	�t
t|����t|�}	|d7}||}|o�|ddk}
|
�r||g}x�|
�rn|	t|�7}	|	|j	k�r.t
d	�|�dd��t
|j	�t
|	���|�|�|d7}||k�rf||}|�rl|ddk}
q�d
}Pq�Wd
�|�}n0|	|j	k�r�t
d	�|�dd��t
|j	�t
|	���|��}|�dd�}|�dd�}
|�||
�|�||f�q"Wt|�t|�fS)
Nr�:s 	zrequest header name {}�utf8�xmlcharrefreplacer)� �	zrequest header field {}�zutf-8�surrogateescape)r�len�split�
ValueErrorr�strip�lstripr0�searchrXr�format�decoder>�append�join�addr�tuple)rZr\r4r5Z	lines_idx�lineZ
line_countZbnameZbvalue�
header_lengthZcontinuationZ
bvalue_lst�name�valuerArArB�
parse_headers�sn






zHeadersParser.parse_headers)rTrUrT)
r;r<r=�intr[r�bytesrr&rtrArArArBr'{sr'c@seZdZdeeeejeeeeeeeeee	e
eeee
e
e
dd�dd	�Z
ejeeed
�dd��Zeed
�dd�Zddejejejfeeeee	eeeeeefe
efd�dd�Zeeedeee
ee	e
e
fd
�dd�Ze
dd�dd�ZdS)r(N����FT)�protocol�loop�limitrVrWrX�timerrCr1�readall�payload_exception�response_with_body�read_until_eof�auto_decompressrYcCs�||_||_||_||_||_||_||_|	|_|
|_||_	||_
|
|_g|_d|_
d|_d|_d|_||_||_t|||�|_dS)NrbF)rzr{rVrWrXr}rCr1r~rr�r��_lines�_tail�	_upgraded�_payload�_payload_parser�_auto_decompress�_limitr'�_headers_parser)rZrzr{r|rVrWrXr}rCr1r~rr�r�r�rArArBr[�s(zHttpParser.__init__)r\rYcCsdS)NrA)rZr\rArArB�
parse_messageszHttpParser.parse_message)rYc	Csp|jdk	r|j��d|_nP|jr0|j�|j�|jrl|jddkrP|j�d�tt��|�|j�SQRXdS)N���z
rb)r��feed_eofr�r�rlr�	Exceptionr�)rZrArArBr�s


zHttpParser.feed_eofs
rb)�data�SEP�EMPTY�CONTENT_LENGTH�METH_CONNECT�SEC_WEBSOCKET_KEY1rYcs�g}|jr|j|d}|_t|�}d}	|j}
�x6|	|k�rf|jdk�rx|j�sx|�||	�}||	krt|jst|d}	q2||	k�rb|j�||	|��|d}	|jd|k�rvz|�|j��Wd|j�	�Xt
td���fdd�}|�}
|�jkr�t
|���j|_t�d|j�}|jdk	�st�|
dk	�r2|
dk�sB�j�r��j�s�t|j|j|
|jd	�}t||
�j|�j|j|j|j|jd
�	}|j�sR||_n�||k�r�t�t��s�t�t|j|j|
|jd	�}d|_t|�j�jd|jd�|_nrt�d
d�dk�rN|
dk�rN|j �rNt|j|j|
|jd	�}t||
�j|�j|jd|j|jd
�	}|j�sR||_nt!}|��|f�n||	d�|_|}Pq2|jdk�r�|j�r�|j�r�t�Pq2|�rb|	|k�rb|j�r�t�|jdk	�s�t�y|j�"||	d��\}}Wn`t#k
�rD}z@|j$dk	�r|jj%�&|�$t'|���n|jj%�&|�d}d}Wdd}~XYnX|�rdd}	t|�}d|_q2q2Pq2W|�r�|	|k�r�||	d�}n|}||j|fS)NrbrrGr�)rYcsV�j���}|dkrdSyt|�}Wntk
r@t���YnX|dkrRt���|S)Nr)r4�getrurfr)Z
length_hdr�length)r��msgrArB�get_content_length?sz0HttpParser.feed_data.<locals>.get_content_lengthr1)r}r{r|)r�r9r1r7rCr~r�r�T)r1r7r~r�rC�d��)(r�rdr{r�r��findr�rlr��clearrrur4rr8�getattrr1rz�AssertionErrorr9r$r}r��HttpPayloadParserr7rCr~r�r��done�
isinstancer+r�r#�	feed_data�
BaseExceptionr�payload�
set_exceptionr>)rZr�r�r�r�r�r��messagesZdata_lenZ	start_posr{�posr�r�r1r�Zpayload_parser�eof�excrA)r�r�rBr�s�









zHttpParser.feed_datazCIMultiDictProxy[str]cCs�|j�|�\}}d}d}d}d}|�tj�}|r`|��}	|	dkrFd}n|	dkrTd}n|	dkr`d}|�tj�}
|
r�|
��}
|
dkr�|
}|�tj�}|dk	r�d|��kr�d}ntd	��tj	|kr�td
��||||||fS)z�Parses RFC 5322 headers from a stream.

        Line continuations are supported. Returns list of header name
        and value pairs. Header name is in upper case.
        NF�closeTz
keep-aliver8)�gzip�deflate�brr9z'Request has invalid `Transfer-Encoding`z6Content-Length can't be present with Transfer-Encoding)
r�rtr�rZ
CONNECTION�lowerZCONTENT_ENCODINGZTRANSFER_ENCODINGrr�)rZr\r4r5Z
close_conn�encodingr8r9Zconn�v�enc�terArArBrt�s8

zHttpParser.parse_headers)�valrYcCs
||_dS)zZSet connection upgraded (to websocket) mode.

        :param bool val: new state.
        N)r�)rZr�rArArB�set_upgraded�szHttpParser.set_upgraded)NNrwrxryrxNNNFNTFT) r;r<r=rr�asyncioZAbstractEventLooprurr>r@rr�r[�abc�abstractmethodrrvrEr�r�rr�r�r�rrr$r�r&rtr�rArArArBr(�s:<$.$.r(c@s$eZdZdZeeed�dd�ZdS)r)z�Read request status line.

    Exception .http_exceptions.BadStatusLine
    could be raised in case of any errors in status line.
    Returns RawRequestMessage.
    )r\rYcCs\|d�dd�}y|�dd�\}}}Wntk
rDt|�d�YnXt|�|jkrntdt|j�tt|����|�d�\}}}|�d�\}}	}
t	�
|�s�t|��yB|�d�r�|d	d��d
d�\}}tt
|�t
|��}
nt|��Wntk
r�t|��YnX|�|�\}}}}}}|dk�r4|
tk�r0d}nd
}t|||
||||||tj||
|dd��
S)Nrzutf-8rcrGzStatus line is too long�#�?zHTTP/��.rTF)r2Zquery_string�fragment�encoded)rkrerfrrdrVrr>�	partitionr.�match�
startswithr rur�rtr!r+r�build)rZr\rpr1r2r3Z	path_partZ_hash_separatorZurl_fragmentZ_question_mark_separatorZqs_partZn1Zn2�	version_or4r5r�r7r8r9rArArBr�
sN




zHttpRequestParser.parse_messageN)r;r<r=�__doc__rrvr+r�rArArArBr)sr)c@s$eZdZdZeeed�dd�ZdS)r*z�Read response status line and headers.

    BadStatusLine could be raised in case of any errors in status line.
    Returns RawResponseMessage.
    )r\rYc
CsT|d�dd�}y|�dd�\}}Wntk
rBt|�d�YnXy|�dd�\}}Wntk
rpd}YnXt|�|jkr�tdt|j�tt|����t�	|�}|dkr�t|��t
t|�d��t|�d���}yt|�}Wntk
r�t|�d�YnX|dk�rt|��|�
|�\}	}
}}}
}|dk�r8|tk}t|||��|	|
|||
|�	S)	Nrzutf-8rcr�zStatus line is too longrGi�)rkrerfrrdrVrr>r/r�r ru�grouprtr!r,rg)rZr\rpr3�statusrDr�r�Zstatus_ir4r5r�r7r8r9rArArBr�VsF




z HttpResponseParser.parse_messageN)r;r<r=r�rrvr,r�rArArArBr*Osr*c@sjeZdZdeeeeeeeeeeeeedd�
dd�Zdd�dd	�Z	de
e
e
eee
fd�d
d�ZdS)r�NFT)
r�r�r9r7rCr1r~r�r�rYc
Cs�d|_tj|_tj|_d|_d|_|	|_	d|_
|rH|rH|j	rHt||�}
n|}
|shtj|_|
��d|_
n||rvtj
|_nn|dk	r�tj|_||_|jdkr�|
��d|_
n>|r�|dkr�tj|_n(|dkr�t�d�tj|_|
��d|_
|
|_dS)NrrbFT��)ZPUTZPOSTz6Content-Length or Transfer-Encoding header is required)�_lengthrFrI�_typerMrO�_chunk�_chunk_size�_chunk_tailr�r��
DeflateBufferr�rKrJrLr"�warningr�)rZr�r�r9r7rCr1r~r�r�Zreal_payloadrArArBr[�s@



zHttpPayloadParser.__init__)rYcCsF|jtjkr|j��n*|jtjkr.td��n|jtjkrBtd��dS)Nz2Not enough data for satisfy content length header.z3Not enough data for satisfy transfer length header.)	r�rFrLr�r�rJrrKr)rZrArArBr��szHttpPayloadParser.feed_eof�
�;)�chunkr��	CHUNK_EXTrYcCsB|jtjkr�|j}t|�}||krT|||_|j�||�|jdkr�|j��dSn6d|_|j�|d|�|�|j��d||d�fS�n�|jtjk�r|j	r�|j	|}d|_	�x�|�r|j
tjk�r�|�
|�}|dk�r�|�
|d|�}|dk�r|d|�}n|d|�}ytt|�d�}	Wn@tk
�rbt|d|��dd��}
|j�|
�|
d�YnX||dd�}|	dk�r�tj|_
ntj|_
|	|_|j��n
||_	d	S|j
tjk�r(|j}t|�}||k�r�|||_|j�||�d	Sd|_|j�|d|�|�||d�}tj|_
|j��|j
tjk�rh|dd�|k�r^|dd�}tj|_
n
||_	d	S|j
tjk�r�|dd�}||k�r�|j��d|dd�fS|�s�d	S||dd
�k�r�||_	d	Stj|_
|j
tjkr�|�
|�}|dk�r||dd�}tj|_
q�||_	d	Sq�Wn |jtjk�r>|j�|t|��d	S)Nr)TrbTrb��asciircrG)Frbr)r�rFrJr�rdr�r�r�rKr�r�rMrOr�rurvrfrrkr�rRrPr��begin_http_chunk_receivingrQ�end_http_chunk_receivingrSrL)rZr�r�r��requiredZ	chunk_lenr��iZsize_b�sizer��headrArArBr��s�




















zHttpPayloadParser.feed_data)NFNNNFTT)r�r�)
r;r<r=r$rrur@r>r[r�rvrr�rArArArBr��s$-
r�c@s|eZdZUdZeed<eeedd�dd�Z	e
dd�dd	�Zee
dd
�dd�Zdd
�dd�Zdd
�dd�Zdd
�dd�ZdS)r�zDDeflateStream decompress stream and feed data into specified stream.�decompressorN)�outr�rYcCsn||_d|_||_d|_|dkrDts,td��Gdd�d�}|�|_n&|dkrVdtjntj}tj	|d	�|_dS)
NrFr�zECan not decode content-encoding: brotli (br). Please install `Brotli`c@s8eZdZdd�dd�Zeed�dd�Zed�dd	�ZdS)
z-DeflateBuffer.__init__.<locals>.BrotliDecoderN)rYcSst��|_dS)N)�brotliZDecompressor�_obj)rZrArArBr[esz6DeflateBuffer.__init__.<locals>.BrotliDecoder.__init__)r�rYcSs0t|jd�rtt|j�|��Stt|j�|��S)N�
decompress)�hasattrr�rrvr��process)rZr�rArArBr�hsz8DeflateBuffer.__init__.<locals>.BrotliDecoder.decompresscSs t|jd�rtt|j���SdS)N�flushrb)r�r�rrvr�)rZrArArBr�msz3DeflateBuffer.__init__.<locals>.BrotliDecoder.flush)r;r<r=r[rvr�r�rArArArB�
BrotliDecoderasr�r�r�)�wbits)
r�r�r��_started_decoding�
HAS_BROTLIrr��zlib�	MAX_WBITS�
decompressobj)rZr�r�r�Z	zlib_moderArArBr[Ts
zDeflateBuffer.__init__)r�rYcCs|j�|�dS)N)r�r�)rZr�rArArBr�wszDeflateBuffer.set_exception)r�r�rYcCs�|sdS|j|7_|jsH|jdkrH|dd@dkrHtjtjd�|_y|j�|�}Wn"tk
rzt	d|j��YnXd|_|r�|j
�|t|��dS)Nr�r��)r�z#Can not decode content-encoding: %sT)
r�r�r�r�r�r�r�r�r�rr�r�rd)rZr�r�rArArBr�zs
zDeflateBuffer.feed_data)rYcCsR|j��}|s|jdkrD|j�|t|��|jdkrD|jjsDtd��|j�	�dS)Nrr�)
r�r�r�r�r�rdr�r�rr�)rZr�rArArBr��s
zDeflateBuffer.feed_eofcCs|j��dS)N)r�r�)rZrArArBr��sz(DeflateBuffer.begin_http_chunk_receivingcCs|j��dS)N)r�r�)rZrArArBr��sz&DeflateBuffer.end_http_chunk_receiving)r;r<r=r�rr?r$rr>r[r�r�rvrur�r�r�r�rArArArBr�Os
#
r�)r)r*r+r,)[r�r��collections�re�stringr��
contextlibr�enumr�typingrrrrrr	r
rrr
rrZ	multidictrrrZyarlrr�rZ
base_protocolrZhelpersrrZhttp_exceptionsrrrrrrrZhttp_writerr r!�logr"Zstreamsr#r$Ztypedefsr%r&r�r��ImportError�__all__�set�	printabler-r>r?�compiler.r/r0rvr+�
namedtupler,rErFrMr'�ABCr(r)r*r�r�ZHttpRequestParserPyZHttpResponseParserPyZRawRequestMessagePyZRawResponseMessagePyZ_http_parserZHttpRequestParserCZHttpResponseParserCZRawRequestMessageCZRawResponseMessageCrArArArB�<module>s�8$	
	
^+MA@Z

Youez - 2016 - github.com/yon3zu
LinuXploit