403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.145.38.251
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/python38/lib64/python3.8/site-packages/aiohttp/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python38/lib64/python3.8/site-packages/aiohttp/__pycache__/http_parser.cpython-38.pyc
U

'�7`=x�
@slddlZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZm
Z
mZddlmZmZmZddlmZddlmZddlmZdd	lmZmZdd
lmZmZmZm Z m!Z!m"Z"ddl#m$Z$m%Z%ddl&m'Z'dd
l(m)Z)m*Z*ddl+m,Z,zddl-Z-dZ.Wne/k
�r&dZ.YnXdZ0e1ej2�Z3e�4d�Z5e�4d�Z6e�4d�Z7e�8dddddddddddg
�Z9e�8d dd!d"ddddddg	�Z:Gd#d$�d$e�Z;Gd%d&�d&e�Z<Gd'd(�d(�Z=Gd)d*�d*ej>�Z?Gd+d,�d,e?�Z@Gd-d.�d.e?�ZAGd/d0�d0�ZBGd1d2�d2�ZCe@ZDeAZEe9ZFe:ZGz2e�sNdd3lHm@Z@mAZAm9Z9m:Z:e@ZIeAZJe9ZKe:ZLWne/k
�rfYnXdS)4�N)�IntEnum)�Any�List�Optional�Tuple�Type�Union)�CIMultiDict�CIMultiDictProxy�istr)�URL�)�hdrs)�BaseProtocol)�
NO_EXTENSIONS�BaseTimerContext)�
BadStatusLine�ContentEncodingError�ContentLengthError�
InvalidHeader�LineTooLong�TransferEncodingError)�HttpVersion�
HttpVersion10)�internal_logger)�
EMPTY_PAYLOAD�StreamReader)�
RawHeadersTF)�
HeadersParser�
HttpParser�HttpRequestParser�HttpResponseParser�RawRequestMessage�RawResponseMessagez[!#$%&'*+\-.^_`|~0-9A-Za-z]+zHTTP/(\d+).(\d+)s'[\x00-\x1F\x7F()<>@,;:\[\]={} \t\\\\\"]r"�method�path�version�headers�raw_headersZshould_close�compression�upgrade�chunked�urlr#�code�reasonc@seZdZdZdZdZdZdS)�
ParseStaterr
��N)�__name__�
__module__�__qualname__�
PARSE_NONE�PARSE_LENGTH�
PARSE_CHUNKED�PARSE_UNTIL_EOF�r9r9�F/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/http_parser.pyr/[sr/c@s eZdZdZdZdZdZdZdS)�
ChunkStaterr
r0r1�N)r2r3r4�PARSE_CHUNKED_SIZE�PARSE_CHUNKED_CHUNK�PARSE_CHUNKED_CHUNK_EOF�PARSE_MAYBE_TRAILERS�PARSE_TRAILERSr9r9r9r:r;cs
r;c@s>eZdZdeeedd�dd�Zeeedefd�d	d
�Z	dS)r���N)�
max_line_size�max_headers�max_field_size�returncCs||_||_||_dS�N)rDrErF)�selfrDrErFr9r9r:�__init__lszHeadersParser.__init__�CIMultiDictProxy[str]��linesrGcCs�t�}g}d}|d}t|�}|�r�z|�dd�\}}Wntk
rVt|�d�YnX|�d�}|��}t�|�r|t|��t|�|j	kr�t
d�|�dd��t
|j	�t
t|����t|�}	|d7}||}|o�|ddk}
|
�rv|g}|
�rj|	t|�7}	|	|j	k�r(t
d	�|�dd��t
|j	�t
|	���|�|�|d7}||k�r`||}|�rh|ddk}
q�d
}�qjq�d
�|�}n0|	|j	k�r�t
d	�|�dd��t
|j	�t
|	���|��}|�dd�}|�dd�}
|�||
�|�||f�qt|�t|�fS)
Nr
�:s 	zrequest header name {}�utf8�xmlcharrefreplacer)� �	zrequest header field {}��utf-8�surrogateescape)r	�len�split�
ValueErrorr�strip�lstrip�HDRRE�searchrFr�format�decode�str�append�join�addr
�tuple)rIrMr'r(Z	lines_idx�lineZ
line_countZbnameZbvalue�
header_lengthZcontinuationZ
bvalue_lst�name�valuer9r9r:�
parse_headersvsz


�
�
��


��zHeadersParser.parse_headers)rBrCrB)
r2r3r4�intrJr�bytesrrrhr9r9r9r:rks��
�rc@s�eZdZdeeeejeeeeeeeeee	e
eeee
e
e
dd�dd	�Z
ejeeed
�dd��Zed
�dd�Zddejejejfeeeee	eeeee
efd�dd�Zeeedeee
ee	e
e
fd
�dd�Ze
dd�dd�ZdS)rN�rBrCFT)�protocol�loop�limitrDrErF�timerr-r$�readall�payload_exception�response_with_body�read_until_eof�auto_decompressrGcCs�||_||_||_||_||_||_||_|	|_|
|_||_	||_
|
|_g|_d|_
d|_d|_d|_||_||_t|||�|_dS)NrSF)rlrmrDrErFror-r$rprqrrrs�_lines�_tail�	_upgraded�_payload�_payload_parser�_auto_decompress�_limitr�_headers_parser)rIrlrmrnrDrErFror-r$rprqrrrsrtr9r9r:rJ�s(zHttpParser.__init__rLcCsdSrHr9)rIrMr9r9r:�
parse_message�szHttpParser.parse_message�rGcCsz|jdk	r|j��d|_nZ|jr0|j�|j�|jrv|jddkrP|j�d�z|�|j�WStk
rtYdSXdS)N���z
rS)ry�feed_eofrvrur`r}�	Exception�rIr9r9r:r��s

zHttpParser.feed_eof�
rS)�data�SEP�EMPTY�CONTENT_LENGTH�METH_CONNECT�SEC_WEBSOCKET_KEY1rGcCs�g}|jr|j|d}|_t|�}d}	|j}
|	|k�r�|jdk�r�|j�s�|�||	�}||	krp|jsp|d}	q.||	k�r�|j�||	|��|d}	|jd|k�r�z|�	|j�}W5|j��X|j
�|�}
|
dk	�rzt|
�}
Wnt
k
�rt|��YnX|
dk�rt|��||j
k�r,t|��|j|_t|d|j�}|jdk	�sRt�|
dk	�rf|
dk�sv|j�r�|j�s�t|j|j|
|jd�}t||
|j||j|j|j|j|jd�	}|j�sv||_n�||k�rt|j|j|
|jd�}d|_t||j|jd|jd	�|_nrt|d
d�dk�rr|
dk�rr|j�rrt|j|j|
|jd�}t||
|j||j|jd|j|jd�	}|j�sv||_nt }|�||f�n||	d�|_|}�q�q.|jdk�r�|j�r�|j�r�t��q�q.|�r�|	|k�r�|j�r�t�|jdk	�s�t�z|j�!||	d��\}}Wn`t"k
�rl}z@|j#dk	�rF|jj$�%|�#t&|���n|jj$�%|�d}d}W5d}~XYnX|�r�d}	t|�}d|_q.q.�q�q.|�r�|	|k�r�||	d�}n|}||j|fS)
NrSrr0rr$)rormrn)�lengthr+r$r)r-rprrrtT)r$r)rprtr-�d��)'rvrVrmryrw�findrur`�clearr}r'�getrirXrr*�getattrr$rl�AssertionErrorr+rror{�HttpPayloadParserr)r-rprrrz�donersr�	feed_data�
BaseExceptionrq�payload�
set_exceptionr_)rIr�r�r�r�r�r��messagesZdata_lenZ	start_posrm�pos�msgr�r$r�Zpayload_parser�eof�excr9r9r:r�s




������
��
	������zHttpParser.feed_datarKcCs�|j�|�\}}d}d}d}d}|�tj�}|r`|��}	|	dkrFd}n|	dkrTd}n|	dkr`d}|�tj�}
|
r�|
��}
|
dkr�|
}|�tj�}|r�d|��kr�d}||||||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-aliver*)�gzip�deflate�brr+)r|rhr�rZ
CONNECTION�lowerZCONTENT_ENCODINGZTRANSFER_ENCODING)rIrMr'r(Z
close_conn�encodingr*r+Zconn�v�enc�ter9r9r:rh�s.
zHttpParser.parse_headers)�valrGcCs
||_dS)zYSet connection upgraded (to websocket) mode.
        :param bool val: new state.
        N)rw)rIr�r9r9r:�set_upgraded�szHttpParser.set_upgraded)NNrkrBrCrBNNNFNTFT)r2r3r4rr�asyncioZAbstractEventLooprirr_�boolrr�rJ�abc�abstractmethodrrjrr}r�rr�r�r�rrr�rrhr�r9r9r9r:r�sn�
�'��.��)rc@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.
    rLcCs\|d�dd�}z|�dd�\}}}Wntk
rDt|�d�YnXt|�|jkrntdt|j�tt|����|�d�\}}}|�d�\}}	}
t	�
|�s�t|��zB|�d�r�|d	d��d
d�\}}tt
|�t
|��}
nt|��Wntk
r�t|��YnX|�|�\}}}}}}|dk�r4|
tk�r0d}nd
}t|||
||||||tj||
|dd��
S)NrrTrUr0�Status line is too long�#�?zHTTP/��.r
TF)r%Zquery_string�fragment�encoded)r^rWrXrrVrDrr_�	partition�METHRE�match�
startswithrrir�rhrr"r�build)rIrMrdr$r%r&Z	path_partZ_hash_separatorZurl_fragmentZ_question_mark_separatorZqs_partZn1Zn2�	version_or'r(r�r)r*r+r9r9r:r}�sf
�


�

��zHttpRequestParser.parse_messageN�r2r3r4�__doc__rrjrr}r9r9r9r:r �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 RawResponseMessagerLc
CsT|d�dd�}z|�dd�\}}Wntk
rBt|�d�YnXz|�dd�\}}Wntk
rpd}YnXt|�|jkr�tdt|j�tt|����t�	|�}|dkr�t|��t
t|�d��t|�d���}zt|�}Wntk
r�t|�d�YnX|dk�rt|��|�
|�\}	}
}}}
}|dk�r8|tk}t|||��|	|
|||
|�	S)	NrrTrUr
�r�r0i�)r^rWrXrrVrDrr_�VERSREr�rri�grouprhrr#rY)rIrMrdr&�statusr.r�r�Zstatus_ir'r(r�r)r*r+r9r9r:r}3s\

�


�
�z HttpResponseParser.parse_messageNr�r9r9r9r:r!-sr!c@sjeZdZdeeeeeeeeeeeeedd�
dd�Zdd�dd	�Z	de
e
e
eee
fd�d
d�ZdS)r�NFT)
r�r�r+r)r-r$rprrrtrGc
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)NrrSFT��)ZPUTZPOSTz6Content-Length or Transfer-Encoding header is required)�_lengthr/r5�_typer;r=�_chunk�_chunk_size�_chunk_tailrzr��
DeflateBufferr�r7r6r8r�warningr�)rIr�r�r+r)r-r$rprrrtZreal_payloadr9r9r:rJnsF�


�zHttpPayloadParser.__init__r~cCsF|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�r/r8r�r�r6rr7rr�r9r9r:r��s��zHttpPayloadParser.feed_eofr��;)�chunkr��	CHUNK_EXTrGcCs:|jtjkr�|j}t|�}||krT|||_|j�||�|jdkr�|j��dSn6d|_|j�|d|�|�|j��d||d�fS�n�|jtjk�r|j	r�|j	|}d|_	|�r6|j
tjk�r�|�
|�}|dk�r�|�
|d|�}|dkr�|d|�}n|d|�}ztt|�d�}	Wn@tk
�r\t|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�rb|dd�|k�rX|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�n |jtjk�r6|j�|t|��d	S)Nr)TrSTrS��asciirUr0)FrSr
)r�r/r6r�rVr�r�r�r7r�r�r;r=r�rirjrXrr^r�r@r>r��begin_http_chunk_receivingr?�end_http_chunk_receivingrAr8)rIr�r�r��requiredZ	chunk_lenr��iZsize_b�sizer��headr9r9r:r��s�






�










zHttpPayloadParser.feed_data)NFNNNFTT)r�r�)
r2r3r4rrrir�r_rJr�rjrr�r9r9r9r:r�ms:��8
�
�r�c@sreZdZdZeeedd�dd�Zedd�dd�Z	e
edd	�d
d�Zdd�d
d�Z
dd�dd�Zdd�dd�ZdS)r�zDDeflateStream decompress stream and feed data into specified stream.N)�outr�rGcCsb||_d|_||_d|_|dkr8ts,td��t��|_n&|dkrJdt	j
nt	j
}t	j|d�|_dS)NrFr�zGCan not decode content-encoding: brotli (br). Please install `brotlipy`r�r��Zwbits)r�r�r��_started_decoding�
HAS_BROTLIr�brotliZDecompressor�decompressor�zlib�	MAX_WBITS�
decompressobj)rIr�r�Z	zlib_moder9r9r:rJ/s�zDeflateBuffer.__init__)r�rGcCs|j�|�dSrH)r�r�)rIr�r9r9r:r�@szDeflateBuffer.set_exception)r�r�rGcCs�|sdS|j|7_|jsH|jdkrH|dd@dkrHtjtjd�|_z|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��
decompressr�rr�r�rV)rIr�r�r9r9r:r�Cs&����
zDeflateBuffer.feed_datar~cCsR|j��}|s|jdkrD|j�|t|��|jdkrD|jjsDtd��|j�	�dS)Nrr�)
r��flushr�r�r�rVr�r�rr�)rIr�r9r9r:r�as
zDeflateBuffer.feed_eofcCs|j��dSrH)r�r�r�r9r9r:r�ksz(DeflateBuffer.begin_http_chunk_receivingcCs|j��dSrH)r�r�r�r9r9r:r�nsz&DeflateBuffer.end_http_chunk_receiving)r2r3r4r�rrr_rJr�r�rjrir�r�r�r�r9r9r9r:r�,s
r�)r r!r"r#)Mr�r��collections�re�stringr��enumr�typingrrrrrrZ	multidictr	r
rZyarlrr�rZ
base_protocolrZhelpersrrZhttp_exceptionsrrrrrrZhttp_writerrr�logrZstreamsrrZtypedefsrr�r��ImportError�__all__�set�	printableZASCIISET�compiler�r�r[�
namedtupler"r#r/r;r�ABCrr r!r�r�ZHttpRequestParserPyZHttpResponseParserPyZRawRequestMessagePyZRawResponseMessagePyZ_http_parserZHttpRequestParserCZHttpResponseParserCZRawRequestMessageCZRawResponseMessageCr9r9r9r:�<module>s�  
	
	


����^K@@F

Youez - 2016 - github.com/yon3zu
LinuXploit