MOON
Server: Apache
System: Linux server30c.hostingraja.org 3.10.0-962.3.2.lve1.5.63.el7.x86_64 #1 SMP Fri Oct 8 12:03:35 UTC 2021 x86_64
User: jibhires (1887)
PHP: 8.1.30
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, symlink, escapeshellcmd, pcntl_exec
Upload Files
File: //opt/alt/python38/lib64/python3.8/site-packages/aiohttp/__pycache__/web_ws.cpython-38.opt-1.pyc
U

'�7`�A�@sBddlZddlZddlZddlZddlZddlmZmZmZm	Z	ddl
Z
ddlZddlm
Z
ddlmZddlmZddlmZmZddlmZmZmZmZmZmZmZmZmZmZdd	l m!Z!dd
l"m#Z#m$Z$ddl%m&Z&m'Z'ddl(m)Z)m*Z*dd
l+m,Z,ddl-m.Z.dZ/dZ0ej1dddd�Gdd�d��Z2Gdd�de.�Z3dS)�N)�Any�Iterable�Optional�Tuple)�CIMultiDict�)�hdrs)�AbstractStreamWriter)�
call_later�
set_result)
�WS_CLOSED_MESSAGE�WS_CLOSING_MESSAGE�WS_KEY�WebSocketError�WebSocketReader�WebSocketWriter�	WSMessage�	WSMsgType�
ws_ext_gen�ws_ext_parse)�	ws_logger)�	EofStream�FlowControlDataQueue)�JSONDecoder�JSONEncoder)�HTTPBadRequest�
HTTPException)�BaseRequest)�StreamResponse)�WebSocketResponse�WebSocketReadyr�T)Zauto_attribs�frozen�slotsc@s0eZdZUeed<eeed<ed�dd�ZdS)r �ok�protocol��returncCs|jS�N)r$��self�r+�A/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/web_ws.py�__bool__0szWebSocketReady.__bool__N)�__name__�
__module__�__qualname__�bool�__annotations__r�strr-r+r+r+r,r +s
r cs�eZdZdZddddddddd�eeeeeeeeeee	dd�	�fd	d
�Z
dd�dd
�Zdd�dd�Zdd�dd�Z
dd�dd�Zeed��fdd�Zeedeeefd�dd�Zeeeefd�dd�Zeeedd�dd�Zeed�dd �Zeed�d!d"��Zeee	d�d#d$��Zeeed�d%d&��Zeed�d'd(��Zeed�d)d*�ZdWe dd,�d-d.�Z!dXe dd,�d/d0�Z"dYeeedd1�d2d3�Z#dZe eedd1�d4d5�Z$d[e%j&d6�e'eee(dd7�d8d9�Z)dd�d:d;�Z*d<d+d=�e	e ed>�d?d@�Z+d\eee,dA�dBdC�Z-ddD�eeedA�dEdF�Z.ddD�eee dA�dGdH�Z/e%j0ddI�e1eee'dJ�dKdL�Z2e ddM�dNdO�Z3dd�dPdQ�Z4e,d�dRdS�Z5eddT�dUdV�Z6�Z7S)]rFg$@NTr+i@)�timeout�receive_timeout�	autoclose�autoping�	heartbeat�	protocols�compress�max_msg_size)	r4r5r6r7r8r9r:r;r'c	s�t�jdd�||_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_||_
||_||_||_||_d|_|dk	r�|d|_d|_||_||_dS)N�e)ZstatusFrg@)�super�__init__�
_protocols�_ws_protocol�_writer�_reader�_closed�_closing�
_conn_lost�_close_code�_loop�_waiting�
_exception�_timeout�_receive_timeout�
_autoclose�	_autoping�
_heartbeat�
_heartbeat_cb�_pong_heartbeat�_pong_response_cb�	_compress�
_max_msg_size)	r*r4r5r6r7r8r9r:r;��	__class__r+r,r>8s.
zWebSocketResponse.__init__r&cCs8|jdk	r|j��d|_|jdk	r4|j��d|_dSr()rQ�cancelrOr)r+r+r,�_cancel_heartbeat\s



z#WebSocketResponse._cancel_heartbeatcCs*|��|jdk	r&t|j|j|j�|_dSr()rWrNr
�_send_heartbeatrGrOr)r+r+r,�_reset_heartbeates
�z"WebSocketResponse._reset_heartbeatcCsN|jdk	rJ|jsJ|j�|j���|jdk	r6|j��t|j	|j
|j�|_dSr()rNrCrGZcreate_taskrA�pingrQrVr
�_pong_not_receivedrPr)r+r+r,rXms

�z!WebSocketResponse._send_heartbeatcCs<|jdk	r8|jjdk	r8d|_d|_t��|_|jj��dS)NT��)Z_req�	transportrCrF�asyncio�TimeoutErrorrI�closer)r+r+r,r[zs

z$WebSocketResponse._pong_not_received)�requestr'c�sP|jdk	r|jS|�|�\}}t��|�IdH}|�|||�|��IdH|Sr()�_payload_writer�
_pre_startr=�prepare�_post_start�drain)r*rar%�writerZpayload_writerrTr+r,rd�s
zWebSocketResponse.preparezCIMultiDict[str]cCs�|j}d|�tjd�����kr8td�|�tj��d��d|�tjd���krftd�|�tj��d��d}tj	|kr�dd�|tj	�
d	�D�}|D]}||jkr�|}q�q�t�
d
||j�|�tjd�}|dkr�td|��d��|�tj�}z.|�rtt�|��d
k�rtd|��d��Wn*tjk
�rDtd|��d�d�YnXt�t�|��t������}ttjdtjdtj|i�}	d}
d}|j�r�|�tj�}t |dd�\}}
|�r�t!|d|
d�}
|
|	tj<|�r�||	tj	<|	|||
fS)NZ	websocket�z@No WebSocket UPGRADE hdr: {}
 Can "Upgrade" only to "WebSocket".)�textZupgradezNo CONNECTION upgrade hdr: {}cSsg|]}t|����qSr+)r3�strip)�.0�protor+r+r,�
<listcomp>�s�z0WebSocketResponse._handshake.<locals>.<listcomp>�,u8Client protocols %r don’t overlap server-known ones %r)Z13�8�7zUnsupported version: �zHandshake error: FrT)�isserver)r:rrZserver_notakeover)"�headers�getrZUPGRADE�lowerrjr�formatZ
CONNECTIONZSEC_WEBSOCKET_PROTOCOL�splitr?rZwarningZSEC_WEBSOCKET_VERSIONZSEC_WEBSOCKET_KEY�len�base64Z	b64decode�binascii�ErrorZ	b64encode�hashlibZsha1�encoderZdigest�decoderZSEC_WEBSOCKET_ACCEPTrRZSEC_WEBSOCKET_EXTENSIONSrr)r*rarsr%Z
req_protocolsrl�version�keyZ
accept_valZresponse_headers�
notakeoverr:�
extensionsZ
enabledextr+r+r,�
_handshake�s��
��
��
�
�����

zWebSocketResponse._handshakecCs`|j|_|�|�\}}}}|�d�|j�|�|��||_|jj}t	|j|||d�}||fS)Nr<)r:r�)
rGr�Z
set_statusrs�updateZforce_closerR�	_protocolr]r)r*rarsr%r:r�r]rgr+r+r,rc�s
�zWebSocketResponse._pre_start)rar%rgr'cCsX||_||_|��|j}t|jd|d�|_|j�t	|j|j
|jd��|j�d�dS)Ni��loop�r:F)
r@rArYrGrr�rBr%Z
set_parserrrSrRZ
keep_alive)r*rar%rgr�r+r+r,re�s�zWebSocketResponse._post_startcCsV|jdk	rtd��z|�|�\}}}}Wntk
rFtdd�YSXtd|�SdS)NzAlready startedFT)rA�RuntimeErrorr�rr )r*ra�_r%r+r+r,�can_prepare�s
zWebSocketResponse.can_preparecCs|jSr()rCr)r+r+r,�closed	szWebSocketResponse.closedcCs|jSr()rFr)r+r+r,�
close_code
szWebSocketResponse.close_codecCs|jSr()r@r)r+r+r,�ws_protocolszWebSocketResponse.ws_protocolcCs|jSr()rRr)r+r+r,r:szWebSocketResponse.compresscCs|jSr()rIr)r+r+r,�	exceptionszWebSocketResponse.exception�)�messager'c�s(|jdkrtd��|j�|�IdHdS�N�Call .prepare() first)rAr�rZ�r*r�r+r+r,rZs
zWebSocketResponse.pingc�s(|jdkrtd��|j�|�IdHdSr�)rAr��pongr�r+r+r,r�!s
zWebSocketResponse.pong)�datar:r'c�sH|jdkrtd��t|t�s,tdt|���|jj|d|d�IdHdS)Nr�zdata argument must be str (%r)F�Zbinaryr:)rAr��
isinstancer3�	TypeError�type�send�r*r�r:r+r+r,�send_str's


zWebSocketResponse.send_strc�sN|jdkrtd��t|tttf�s2tdt|���|jj|d|d�IdHdS)Nr�z#data argument must be byte-ish (%r)Tr�)	rAr�r��bytes�	bytearray�
memoryviewr�r�r�r�r+r+r,�
send_bytes.s

zWebSocketResponse.send_bytes)�dumps)r�r:r�r'c�s|j||�|d�IdHdS)Nr�)r�)r*r�r:r�r+r+r,�	send_json5szWebSocketResponse.send_jsonc�s4|jr
dS|jdkrtd��|��IdHd|_dS)NzResponse has not been startedT)Z	_eof_sentrbr�r`r)r+r+r,�	write_eof>s
zWebSocketResponse.write_eof��)�coder�)r�r�r'c
�s�|jdkrtd��|��|j}|jdk	rH|jsH|�td�|jIdH|j�s�d|_z,|j�||�IdH|j	}|�
�IdHWnVtjtj
fk
r�d|_�Yn4tk
r�}zd|_||_WY�dSd}~XYnX|jr�dS|j}z0tj|j|jd��|��IdH}W5QRXWnTtjk
�r:d|_�Yn6tk
�rn}zd|_||_WY�dSd}~XYnX|jtjk�r�|j|_dSd|_t�
�|_dSdSdS)Nr�rTr\r�F)rAr�rWrBrHrCZ	feed_datar
r`rbrfr^�CancelledErrorr_rF�	ExceptionrIrD�
async_timeoutr4rJrG�readr�r�CLOSEr�)r*r�r��readerrg�exc�msgr+r+r,r`GsP

zWebSocketResponse.close)r4r'c
�s`|jdkrtd��|j}|jdk	r*td��|jrT|jd7_|jtkrPtd��tS|jr^t	Szh|�
�|_z>tj
|px|j|jd��|j��IdH}W5QRX|��W5|j}t|d�d|_XW�n�tjtjfk
r�d|_�Yn�tk
�r d|_|��IdHttjdd�YStk
�rp}z2|j|_|j|jd	�IdHttj|d�WY�Sd}~XYnVtk
�r�}z6||_d|_d|_|��IdHttj|d�WY�Sd}~XYnX|jtj k�rd|_|j!|_|j�s\|j"�r\|��IdHnZ|jtj#k�rd|_nD|jtj$k�rD|j%�rD|�&|j!�IdHqn|jtj'k�r\|j%�r\q|S)
Nr�z+Concurrent call to receive() is not allowedrzWebSocket connection is closed.Tr�r\r�)r�)(rBr�rGrHrCrE�THRESHOLD_CONNLOST_ACCESSrrDr
Z
create_futurerr�r4rKr�rYr^r�r_rFrr`rr�CLOSEDrr�ZERRORr�rIr�r�r�rL�CLOSINGZPINGrMr�ZPONG)r*r4r�Zwaiterr�r�r+r+r,�receive~sl



�
"$zWebSocketResponse.receive�r4c�s6|�|�IdH}|jtjkr0td�|j|j���|jS)Nz.Received message {}:{!r} is not WSMsgType.TEXT)r�r�rZTEXTr�rvr��r*r4r�r+r+r,�receive_str�s��zWebSocketResponse.receive_strc�s<|�|�IdH}|jtjkr6td|j�d|j�d���|jS)NzReceived message �:z
 is not bytes)r�r�rZBINARYr�r�r�r+r+r,�
receive_bytes�szWebSocketResponse.receive_bytes)�loadsr4)r�r4r'c�s|j|d�IdH}||�S)Nr�)r�)r*r�r4r�r+r+r,�receive_json�szWebSocketResponse.receive_json)r�r'c�std��dS)Nz"Cannot call .write() for websocket)r�)r*r�r+r+r,�write�szWebSocketResponse.writecCs|Sr(r+r)r+r+r,�	__aiter__�szWebSocketResponse.__aiter__c�s,|��IdH}|jtjtjtjfkr(t�|Sr()r�r�rr�r�r��StopAsyncIteration)r*r�r+r+r,�	__anext__�szWebSocketResponse.__anext__)r�r'cCs|jdk	r|j�|�dSr()rBZ
set_exception)r*r�r+r+r,�_cancel�s
zWebSocketResponse._cancel)r�)r�)N)N)N)N)8r.r/r0Z
_length_check�floatrr1rr3�intr>rWrYrXr[rr	rdrr�rrcrer r��propertyr�r�r�r:�
BaseExceptionr�r�rZr�r�r��jsonr�rrr�r�r`rr�r�r�r�rr�r�r�r�r��
__classcell__r+r+rTr,r4s���$	

�P�

���		7?
��r)4r^ryrzr|r��typingrrrrr��attrZ	multidictrrhr�abcr	Zhelpersr
rZhttprr
rrrrrrrr�logrZstreamsrrZtypedefsrrZweb_exceptionsrrZweb_requestrZweb_responser�__all__r��sr rr+r+r+r,�<module>s.0