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_websocket.cpython-37.pyc
B

�k�ac�@sUdZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
mZmZmZmZmZmZmZmZddlmZddlmZdd	lmZdd
lmZdZGdd
�d
e	�Zdd�eD�Z eee!e"d<Gdd�de	�Z#dZ$ee%e"d<ed�j&Z'ed�j&Z(ed�j)Z*ed�j+Z,ed�j+Z-ed�j+Z.ed�j+Z/dZ0ee!e"d<dZ1ee!e"d<e�2ddd d!g�Z3Gd"d#�d#e3�Z4e4e#j5dd�Z6e4e#j7dd�Z8Gd$d%�d%e9�Z:Gd&d'�d'e9�Z;ej<Z=ee>e"d(<d)d*�e?d+�D�Z@eee%e"d,<e%eAdd-�d.d/�ZBe�reBZCn0ydd0lDmEZEeEZCWneFk
�rHeBZCYnXe%ddd1d1g�ZGee%e"d2<e�Hd3�ZIeee>e"d4<e�Hd5�ZJeee>e"d6<dEee>eKee!eKfd8�d9d:�ZLdFe!eKeKe>d<�d=d>�ZMGd?d@�d@e	�ZNGdAdB�dB�ZOGdCdD�dD�ZPdS)Gz%WebSocket protocol versions 13 and 8.�N)�IntEnum)�Struct)	�Any�Callable�List�Optional�Pattern�Set�Tuple�Union�cast�)�BaseProtocol)�
NO_EXTENSIONS)�	DataQueue)�Final)	�WS_CLOSED_MESSAGE�WS_CLOSING_MESSAGE�WS_KEY�WebSocketReader�WebSocketWriter�	WSMessage�WebSocketError�	WSMsgType�WSCloseCodec@s@eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdS)ri�i�i�i�i�i�i�i�i�i�i�i�i�N)�__name__�
__module__�__qualname__ZOKZ
GOING_AWAY�PROTOCOL_ERRORZUNSUPPORTED_DATAZABNORMAL_CLOSURE�INVALID_TEXTZPOLICY_VIOLATION�MESSAGE_TOO_BIGZMANDATORY_EXTENSIONZINTERNAL_ERRORZSERVICE_RESTARTZTRY_AGAIN_LATERZBAD_GATEWAY�r!r!�I/opt/alt/python37/lib64/python3.7/site-packages/aiohttp/http_websocket.pyr srcCsh|]}t|��qSr!)�int)�.0�ir!r!r"�	<setcomp>0sr&�ALLOWED_CLOSE_CODESc@sPeZdZdZdZdZdZdZdZdZ	dZ
d	ZeZeZ
eZeZeZe	Ze
ZeZd
S)rrr
��	�
��iiN)rrr�CONTINUATION�TEXT�BINARY�PING�PONG�CLOSE�CLOSING�CLOSED�ERROR�text�binary�ping�pong�close�closing�closed�errorr!r!r!r"r3s"rs$258EAFA5-E914-47DA-95CA-C5AB0DC85B11rz!Hz!Qz!BBz!BBHz!BBQi@�MSG_SIZEi�
DEFAULT_LIMIT�_WSMessageBase�type�data�extrac@s.eZdZejd�eegefed�dd�ZdS)r)�loads)rD�returncCs
||j�S)zAReturn parsed JSON data.

        .. versionadded:: 0.22
        )rB)�selfrDr!r!r"�json]szWSMessage.jsonN)rrrrGrDrrr!r!r!r"r\srcs8eZdZdZeedd��fdd�Zed�dd�Z�ZS)	rz WebSocket protocol parser error.N)�code�messagerEcs||_t��||�dS)N)rH�super�__init__)rFrHrI)�	__class__r!r"rKlszWebSocketError.__init__)rEcCstt|jd�S)Nr
)r�str�args)rFr!r!r"�__str__pszWebSocketError.__str__)	rrr�__doc__r#rMrKrO�
__classcell__r!r!)rLr"risrc@seZdZdZdS)�WSHandshakeErrorz#WebSocket protocol handshake error.N)rrrrPr!r!r!r"rRtsrR�native_byteordercs&g|]�t�fdd�td�D���qS)c3s|]}|�AVqdS)Nr!)r$�a)�br!r"�	<genexpr>|sz<listcomp>.<genexpr>r,)�bytes�range)r$r!)rUr"�
<listcomp>|srYr,�
_XOR_TABLE)�maskrBrEcCs�t|t�st|��t|�dks&t|��|r�dd�|D�\}}}}|ddd��|�|ddd�<|ddd��|�|ddd�<|ddd��|�|ddd�<|ddd��|�|ddd�<dS)awWebsocket masking function.

    `mask` is a `bytes` object of length 4; `data` is a `bytearray`
    object of any length. The contents of `data` are masked with `mask`,
    as specified in section 5.3 of RFC 6455.

    Note that this function mutates the `data` argument.

    This pure-python implementation may be replaced by an optimized
    version when available.

    �css|]}t|VqdS)N)rZ)r$�nr!r!r"rV�sz)_websocket_mask_python.<locals>.<genexpr>Nr
r(�)�
isinstance�	bytearray�AssertionError�len�	translate)r[rBrTrU�c�dr!r!r"�_websocket_mask_pythons
rf)�_websocket_mask_cython��_WS_DEFLATE_TRAILINGz�^(?:;\s*(?:(server_no_context_takeover)|(client_no_context_takeover)|(server_max_window_bits(?:=(\d+))?)|(client_max_window_bits(?:=(\d+))?)))*$�
_WS_EXT_REzpermessage-deflate([^,]+)?�_WS_EXT_RE_SPLITF)�extstr�isserverrEcCs�|sdSd}d}x�t�|�D]�}|�d�}|s4d}Pt�|�}|r�d}|r�|�d�rxt|�d��}|dksr|dkrxd}q|�d�r�d}Pq�|�d	�r�t|�d	��}|dks�|dkr�td
��|�d�r�d}Pq|std|�d���qW||fS)
N)rFrFr
�r\r)T�zInvalid window sizer(z#Extension for deflate not supported)rk�finditer�grouprj�matchr#rR)rlrm�compress�
notakeover�extZdefextrrr!r!r"�ws_ext_parse�s>





rvrn)rsrm�server_notakeoverrEcCs^|dks|dkrtd��dg}|s,|�d�|dkrF|�dt|��|rT|�d�d�|�S)	Nr)rnzCCompress wbits must between 9 and 15, zlib does not support wbits=8zpermessage-deflateZclient_max_window_bitszserver_max_window_bits=Zserver_no_context_takeoverz; )�
ValueError�appendrM�join)rsrmrwZ
enabledextr!r!r"�
ws_ext_gen�s

r{c@seZdZdZdZdZdZdS)�
WSParserStater
r(r^r\N)rrr�READ_HEADER�READ_PAYLOAD_LENGTH�READ_PAYLOAD_MASK�READ_PAYLOADr!r!r!r"r|�sr|c@s�eZdZdeeeedd�dd�Zdd�dd�Ze	e
ee	fd	�d
d�Ze	e
ee	fd	�dd
�Ze	e
e
eeeeeefd�dd�ZdS)rTN)�queue�max_msg_sizersrEcCsp||_||_d|_t�|_tj|_d|_d|_	d|_
t�|_d|_d|_
d|_d|_d|_d|_d|_||_dS)NF�r)r��
_max_msg_size�_excr`�_partialr|r}�_state�_opcode�
_frame_fin�
_frame_opcode�_frame_payload�_tail�	_has_mask�_frame_mask�_payload_length�_payload_length_flag�_compressed�_decompressobj�	_compress)rFr�r�rsr!r!r"rKs"zWebSocketReader.__init__)rEcCs|j��dS)N)r��feed_eof)rFr!r!r"r�szWebSocketReader.feed_eof)rBrEc
CsR|jrd|fSy
|�|�Stk
rL}z||_|j�|�dSd}~XYnXdS)NT)Tr�)r��
_feed_data�	Exceptionr��
set_exception)rFrB�excr!r!r"�	feed_datas
zWebSocketReader.feed_datac
Cs��x�|�|�D�]x\}}}}|r8|js8tjtjd�|_|tjk�r"t|�dkr�t|dd��d}|dkr�|t	kr�t
tjd|����y|dd��
d�}Wn0tk
r�}zt
tjd�|�Wdd}~XYnXttj||�}	n4|�rt
tjd|�d	|�d	|����nttjdd
�}	|j�|	d�q|tjk�rL|j�ttj|d
�t|��q|tjk�rv|j�ttj|d
�t|��q|tjtjfk�r�|jdk�r�t
tjd|����q|�s|tjk�r�||_|j�|�|j�r�t|j�|jk�r�t
tjd�t|j�|j���q|j�r*|tjk�r*t
tjd
�|���|tjk�rR|jdk	�sFt�|j}d|_|j�|�|j�r�t|j�|jk�r�t
tjd�t|j�|j���|�r�|j�t�|j� |j|j�}
|jj!�r�t|jj!�}t
tjd�|j||j���n
t"|j�}
|j�#�|tjk�rly*|
�
d�}|j�ttj|d
�t|��Wn2tk
�rh}zt
tjd�|�Wdd}~XYnXq|j�ttj|
d
�t|
��qWdS)N)�wbitsr(ri�zInvalid close code: zutf-8zInvalid UTF-8 text messagezInvalid close frame: � �zUnexpected opcode=z Message size {} exceeds limit {}z<The opcode in non-fin frame is expected to be zero, got {!r}z-Decompressed message size {} exceeds limit {})Fr�)$�parse_framer��zlib�
decompressobj�	MAX_WBITSrr2rb�UNPACK_CLOSE_CODEr'rrr�decode�UnicodeDecodeErrorrrr�r�r0r1r.r/r�r-r��extendr�r �formatrari�
decompress�unconsumed_tailrW�clear)
rFrB�fin�opcode�payload�
compressedZ
close_codeZ
close_messager��msgZpayload_merged�leftr6r!r!r"r�&s�




zWebSocketReader._feed_data)�bufrEcCs�g}|jr|j|d}|_d}t|�}�xD|jtjk�rr||dk�rp|||d�}|d7}|\}}|d?d@}|d?d@}	|d?d@}
|d?d@}|d	@}|
s�|s�|	r�|js�ttjd
��|dkr�|dkr�ttjd��|d?d@}
|d@}|dk�r|d
k�rttjd��|j	�s"|j
dk�r4|	�r,dnd|_
n|	�rFttjd
��t|�|_	||_t|
�|_
||_tj|_nP|jtjk�r^|j}|dk�r�||dk�r�|||d�}|d7}t|�d}||_|j
�r�tjntj|_nPnz|dk�rB||dk�r>|||d�}|d7}t|�d}||_|j
�r4tjntj|_nPn||_|j
�rVtjntj|_|jtjk�r�||dk�r�|||d�|_|d7}tj|_nP|jtjkr,|j}|j}||}||k�r�|||_|�||d��|}n$d|_|�||||��||}|jdk�rj|j
�r@|jdk	�s4t�t|j|�|�|j	|j||j
f�t�|_tj|_q,Pq,W||d�|_|S)z&Return the next frame from the socket.r�rr(�r
ro�r\rnz*Received frame with non-zero reserved bitsz!Received fragmented control frame��}z5Control frame payload cannot be larger than 125 bytesNTF�~r+)r�rbr�r|r}r�rrrr�r��boolr�r�r�r~�UNPACK_LEN2r�rr��UNPACK_LEN3r�r�r�ra�_websocket_maskryr`)rFr��framesZ	start_posZ
buf_lengthrBZ
first_byteZsecond_byter�Zrsv1Zrsv2Zrsv3r�Zhas_mask�lengthr�Z	chunk_lenr!r!r"r��s�










zWebSocketReader.parse_frame)T)rrrrrr#r�rKr�rWr
r�r�rrr`r�r!r!r!r"r�s|rc
@s�eZdZdee��ddd�eeje	e
ee
e	dd�dd�Zde
e
ee
dd�d	d
�Ze
dd�dd
�Zde
dd�dd�Zde
dd�dd�Zdeee
fe	ee
dd�dd�Zde
e
dd�dd�ZdS) rFr)�use_mask�limit�randomrsrtN)�protocol�	transportr�r�r�rsrtrEcCsB||_||_||_|j|_||_||_d|_||_d|_d|_	dS)NFr)
r�r�r��	randrangersrt�_closing�_limit�_output_size�_compressobj)rFr�r�r�r�r�rsrtr!r!r"rK>szWebSocketWriter.__init__)rIr�rsrEc�s�|jr|tj@std��d}|s&|jr�|dkr�|rFtjtj|d�}n"|jsbtjtj|jd�|_|j}|�|�}||�	|j
r�tjntj�}|�
t�r�|dd�}|dB}t|�}|j}|r�d}nd}|d	kr�td|B|B||B�}	n<|d
k�rtd|B|Bd	|B|�}	ntd|B|Bd|B|�}	|�r�|�dd�}
|
�d
d�}
t|�}t|
|�|�|	|
|�|jt|	�t|
�t|�7_nLt|�tk�r�|�|	�|�|�n|�|	|�|jt|	�t|�7_|j|jk�r�d|_|j��IdHdS)z<Send a frame over the websocket with message as its payload.z!Cannot write to closing transportrr+)�levelr�N����@�r�ir�l��r\�big)r�rr2�ConnectionResetErrorrsr��compressobj�Z_BEST_SPEEDr��flushrt�Z_FULL_FLUSH�Z_SYNC_FLUSH�endswithrirbr��	PACK_LEN1�	PACK_LEN2�	PACK_LEN3r��to_bytesr`r��_writer�r>r�r�Z
_drain_helper)rFrIr�rsZrsvr�Z
msg_lengthr�Zmask_bit�headerr[r!r!r"�_send_frameTsR



$
zWebSocketWriter._send_frame)rBrEcCs,|jdks|j��rtd��|j�|�dS)Nz!Cannot write to closing transport)r�Z
is_closingr��write)rFrBr!r!r"r��szWebSocketWriter._writer�)rIrEc�s,t|t�r|�d�}|�|tj�IdHdS)zSend pong message.zutf-8N)r_rM�encoder�rr1)rFrIr!r!r"r9�s

zWebSocketWriter.pongc�s,t|t�r|�d�}|�|tj�IdHdS)zSend ping message.zutf-8N)r_rMr�r�rr0)rFrIr!r!r"r8�s

zWebSocketWriter.ping)rIr7rsrEc�sJt|t�r|�d�}|r0|�|tj|�IdHn|�|tj|�IdHdS)z<Send a frame over the websocket with message as its payload.zutf-8N)r_rMr�r�rr/r.)rFrIr7rsr!r!r"�send�s


zWebSocketWriter.send��)rHrIrEc�sDt|t�r|�d�}z"|jt|�|tjd�IdHWdd|_XdS)z<Close the websocket, sending the specified code and message.zutf-8)r�NT)r_rMr�r��PACK_CLOSE_CODErr2r�)rFrHrIr!r!r"r:�s

zWebSocketWriter.close)N)r�)r�)FN)r�r�)rrrr?r��Randomr�asyncioZ	Transportr�r#rrKrWrr�r�r9r8rrMr�r:r!r!r!r"r=s
?		r)F)rnFF)QrPr��collectionsrGr��re�sysr��enumr�structr�typingrrrrrr	r
rrZ
base_protocolrZhelpersrZstreamsrZtypedefsr�__all__rr'r#�__annotations__rrrW�unpack_fromr�r��unpackr��packr�r�r�r�r>r?�
namedtupler@rr4rr3rr�rrR�	byteorderrSrMrXrZr`rfr�Z
_websocketrg�ImportErrorri�compilerjrkr�rvr{r|rrr!r!r!r"�<module>sp,






	"
 4@

Youez - 2016 - github.com/yon3zu
LinuXploit