HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/aiohttp/__pycache__/client_ws.cpython-310.pyc
o

;jL�@s�dZddlZddlZddlmZddlmZddlmZm	Z	m
Z
mZmZm
Z
ddlZddlmZddlmZmZmZdd	lmZdd
lmZmZddlmZmZmZmZmZm Z m!Z!m"Z"ddl#m$Z$m%Z%dd
l&m'Z'ddl(m)Z)m*Z*m+Z+m,Z,m-Z-ej.dkr�ddlm/Z/nddl0m/Z/ej.dkr�ddlZ1ddlm2Z2n
ddl1Z1ddl0m2Z2e/de3de
dd�Z4ej5ddd�Gdd�d��Z6e6ddd�Z7Gdd�de	e4�Z8dS)zWebSocket client for asyncio.�N)�Callable)�
TracebackType)�Any�Generic�Literal�Optional�cast�overload�)�WebSocketDataQueue)�ClientError�ServerTimeoutError�WSMessageTypeError)�ClientResponse)�calculate_timeout_when�
set_result)�WS_CLOSED_MESSAGE�WS_CLOSING_MESSAGE�WebSocketError�WSCloseCode�	WSMessage�WSMessageDecodeText�WSMessageNoDecodeText�	WSMsgType)�_INTERNAL_RECEIVE_TYPES�WebSocketWriter)�	EofStream)�DEFAULT_JSON_DECODER�DEFAULT_JSON_ENCODER�JSONBytesEncoder�JSONDecoder�JSONEncoder)��
)�TypeVar)r"�)�Self�_DecodeTextT)�bound�	covariant�default)�frozen�slotsc@s0eZdZejeedd�Zejeedd�ZdS)�ClientWSTimeoutN)�typer*)	�__name__�
__module__�__qualname__�attrZibr�float�
ws_receive�ws_close�r6r6�E/opt/saltstack/salt/lib/python3.10/site-packages/aiohttp/client_ws.pyr-4sr-g$@)r4r5c@s�eZdZdddd�dedededBded	ed
edede	j
d
edBdededdfdd�Z
d{dd�Zd{dd�Zd{dd�Zd{dd�Zd{dd�Zd{dd�Zd|d!d"�Zd{d#d$�Zd%eddfd&d'�Zd{d(d)�Zd{d*d+�Zedefd,d-��ZededBfd.d/��ZededBfd0d1��Zedefd2d3��Zedefd4d5��Zd}d6ed7e de fd8d9�Z!dedBfd:d;�Z"d~d=e#ddfd>d?�Z$d~d=e#ddfd@dA�Z%	d}d=e#dBe&dedBddfdCdD�Z'd}dEededBddfdFdG�Z(d}dEe#dedBddfdHdI�Z)	d}e*dJ�dEe dedBdKe+ddfdLdM�Z,	d}dEe dedBdKe-ddfdNdO�Z.e/j0d<dP�dQed=e#defdRdS�Z1e2	d}dTdUd	edBde3fdVdW��Z4e2	d}dTdXd	edBde5fdYdW��Z4e2	d}dTdZd	edBde3e5Bfd[dW��Z4	d}d	edBde3e5Bfd\dW�Z4e2dd]�dTdUd	edBdefd^d_��Z6e2dd]�dTdXd	edBde#fd`d_��Z6e2dd]�dTdZd	edBdee#Bfdad_��Z6dd]�d	edBdee#Bfdbd_�Z6dd]�d	edBde#fdcdd�Z7e2deddf�dTdUdge8d	edBde fdhdi��Z9e2deddf�dTdXdge:e#ge fd	edBde fdjdi��Z9e2deddf�dTdZdge8e:e#ge fBd	edBde fdkdi��Z9e;ddf�dge8e:e#ge fBd	edBde fdldi�Z9de<fdmdn�Z=e2dTdUde3fdodp��Z>e2dTdXde5fdqdp��Z>e2dTdZde3e5Bfdrdp��Z>de3e5Bfdsdp�Z>de<fdtdu�Z?dve@edBdwedBdxeAdBddfdydz�ZBdS)�ClientWebSocketResponseNrF)�	heartbeat�compress�client_notakeover�reader�writer�protocol�response�timeout�	autoclose�autoping�loopr9r:r;�returnc	Cs�||_|j|_||_||_||_d|_d|_d|_||_	||_
||_|	|_d|_
d|_|	dur4|	d|_d|_||_d|_d|_d|_|
|_||_d|_d|_d|_|��dS)NFgg@)�	_response�
connection�_conn�_writer�_reader�	_protocol�_closed�_closing�_close_code�_timeout�
_autoclose�	_autoping�
_heartbeat�
_heartbeat_cb�_heartbeat_when�_pong_heartbeat�_pong_response_cb�_loop�_waiting�_close_wait�
_exception�	_compress�_client_notakeover�
_ping_task�_need_heartbeat_reset�_heartbeat_reset_handle�_reset_heartbeat)�selfr<r=r>r?r@rArBrCr9r:r;r6r6r7�__init__>s6
z ClientWebSocketResponse.__init__cCsd|��|jdur|j��d|_d|_|jdur!|j��d|_|jdur0|j��d|_dSdS�NF)�_cancel_pong_response_cbr^�cancelr]rRr\�r`r6r6r7�_cancel_heartbeatks






�z)ClientWebSocketResponse._cancel_heartbeatcCs"|jdur|j��d|_dSdS�N)rUrdrer6r6r7rcxs


�z0ClientWebSocketResponse._cancel_pong_response_cbcCs>|jdus|jr
dS|j}|dusJ�d|_|�|j�|_dS)NT)rQr]rVZ	call_soon�_flush_heartbeat_resetr^)r`rCr6r6r7�_on_data_received}sz)ClientWebSocketResponse._on_data_receivedcCs"d|_|jsdS|��d|_dSrb)r^r]r_rer6r6r7rh�s

z.ClientWebSocketResponse._flush_heartbeat_resetcCs�|jdurdS|��|j}|dusJ�|j}|dur|jjnd}|��}t||j|�}||_|j	dur>|�
||j�|_	dSdS)N�)rQrcrVrG�
_connector�_timeout_ceil_threshold�timerrSrR�call_at�_send_heartbeat)r`rC�conn�timeout_ceil_threshold�now�whenr6r6r7r_�s
�
�z(ClientWebSocketResponse._reset_heartbeatcCs�d|_|jrdS|j}|��}||jkr|�|j|j�|_dS|j}|dur*|jj	nd}t
||j|�}|��|�||j
�|_|j�dtj�}tjdkrUtj||dd�}n|�|�}|��si||_|�|j�dS|�|�dS)Nrj�)r"�T)rCZeager_start)rRr]rVrmrSrnrorGrkrlrrTrc�_pong_not_receivedrUrH�
send_framer�PING�sys�version_info�asyncioZTaskZcreate_taskZdoner\Zadd_done_callback�_ping_task_done)r`rCrrrprqrs�coroZ	ping_taskr6r6r7ro�s0
��

z'ClientWebSocketResponse._send_heartbeat�task�asyncio.Task[None]cCs(|��s|��}r|�|�d|_dS)z*Callback for when the ping task completes.N)Z	cancelled�	exception�_handle_ping_pong_exceptionr\)r`r~�excr6r6r7r|�s

z'ClientWebSocketResponse._ping_task_donecCs|�td|j�d���dS)NzNo PONG received after z seconds)r�r
rTrer6r6r7rv�s�z*ClientWebSocketResponse._pong_not_receivedr�cCsZ|jrdS|��tj|_||_|j��|jr)|j	s+|j
�tt
j|d�d�dSdSdS)z5Handle exceptions raised during ping/pong processing.Nr)rK�_set_closedr�ABNORMAL_CLOSURErMrYrE�closerWrLrI�	feed_datarr�ERROR)r`r�r6r6r7r��s
�z3ClientWebSocketResponse._handle_ping_pong_exceptioncC�d|_|��dS)zdSet the connection to closed.

        Cancel any heartbeat timers and set the closed flag.
        TN)rKrfrer6r6r7r���z#ClientWebSocketResponse._set_closedcCr�)zfSet the connection to closing.

        Cancel any heartbeat timers and set the closing flag.
        TN)rLrfrer6r6r7�_set_closing�r�z$ClientWebSocketResponse._set_closingcC�|jSrg)rKrer6r6r7�closed��zClientWebSocketResponse.closedcCr�rg)rMrer6r6r7�
close_code�r�z"ClientWebSocketResponse.close_codecCr�rg)rJrer6r6r7r>�r�z ClientWebSocketResponse.protocolcCr�rg)rZrer6r6r7r:�r�z ClientWebSocketResponse.compresscCr�rg)r[rer6r6r7r;r�z)ClientWebSocketResponse.client_notakeover�namer*cCs2|jj}|dur
|S|j}|dur|S|�||�S)z$extra info from connection transportN)rErF�	transport�get_extra_info)r`r�r*rpr�r6r6r7r�sz&ClientWebSocketResponse.get_extra_infocCr�rg)rYrer6r6r7r�sz!ClientWebSocketResponse.exceptionrt�messagec���|j�|tj�IdHdSrg)rHrwrrx�r`r�r6r6r7�ping��zClientWebSocketResponse.pingc�r�rg)rHrwr�PONGr�r6r6r7�pongr�zClientWebSocketResponse.pong�opcodec�s�|j�|||�IdHdS)z Send a frame over the websocket.N)rHrw)r`r�r�r:r6r6r7rws�z"ClientWebSocketResponse.send_frame�datac�s@�t|t�stdt|���|jj|�d�tj|d�IdHdS)Nzdata argument must be str (%r)zutf-8�r:)	�
isinstance�str�	TypeErrorr.rHrw�encoder�TEXT�r`r�r:r6r6r7�send_strs�
�z ClientWebSocketResponse.send_strc�s@�t|tttf�stdt|���|jj|tj	|d�IdHdS)Nz#data argument must be byte-ish (%r)r�)
r��bytes�	bytearray�
memoryviewr�r.rHrwr�BINARYr�r6r6r7�
send_bytes%s�z"ClientWebSocketResponse.send_bytes)�dumpsr�c�s�|j||�|d�IdHdS)Nr�)r��r`r�r:r�r6r6r7�	send_json*s�z!ClientWebSocketResponse.send_jsonc�s�|j||�|d�IdHdS)z�Send JSON data using a bytes-returning encoder as a binary frame.

        Use this when your JSON encoder (like orjson) returns bytes
        instead of str, avoiding the encode/decode overhead.
        r�N)r�r�r6r6r7�send_json_bytes3s�z'ClientWebSocketResponse.send_json_bytes)�coder�r�c
�s��|jr%|js%|jdusJ�|j��|_|��|j�td�|jIdH|j	r*dS|�
�z|j�||�IdHWn0t
jyLtj|_|j���tyj}ztj|_||_|j��WYd}~dSd}~ww|jru|j��dS	z+t�|jj�4IdH�|j��IdH}Wd�IdHn1IdHs�wYWn0t
jy�tj|_|j���ty�}ztj|_||_|j��WYd}~dSd}~ww|jtjur�|j|_|j��dSqv)NrFT)rWrLrVZ
create_futurerXr�rIr�rrKr�rHr�r{�CancelledErrorrr�rMrE�	ExceptionrY�
async_timeoutr@rNr5�readr.r�CLOSEr�)r`r�r�r��msgr6r6r7r�As`�

��
(��

��
�zClientWebSocketResponse.closer`z&ClientWebSocketResponse[Literal[True]]c���dSrgr6�r`r@r6r6r7�receiver��zClientWebSocketResponse.receivez'ClientWebSocketResponse[Literal[False]]c�r�rgr6r�r6r6r7r�wr�z$ClientWebSocketResponse[_DecodeText]c�r�rgr6r�r6r6r7r�|r�c
�s��|p|jj}	|jrtd��|jrtS|jr |��IdHtSzTd|_z@|rOt�	|�4IdH�|j
��IdH}Wd�IdHn1IdHsIwYn|j
��IdH}Wd|_|jrdt
|jd�nd|_|jrrt
|jd�wwWn�tjtjfy�tj|_�ty�tj|_|��IdHttjdd�YSty�|��tj|_tYSty�}z|j|_|j|jd�IdHttj|d�WYd}~Sd}~wt�y}z||_|� �tj|_|��IdHttj|d�WYd}~Sd}~ww|j!t"v�r
|S|j!tj#u�r*|� �|j$|_|j�s(|j%�r(|��IdH|S|j!tj&u�r7|� �|S|j!tj'u�rL|j(�rL|�)|j$�IdHq|j!tj*u�rX|j(�rXq|S)NTz+Concurrent call to receive() is not allowedF)r�)+rNr4rW�RuntimeErrorrKrrLr�r�r@rIr�rXrr{r��TimeoutErrorrr�rMr�OKrr�CLOSEDrr�rr�r�r�rYr�r.rr�r�rO�CLOSINGrxrPr�r�)r`r@Zreceive_timeoutr�r�r6r6r7r��s��(����������	���r@c�r�rgr6r�r6r6r7�receive_str�r�z#ClientWebSocketResponse.receive_strc�r�rgr6r�r6r6r7r��r�c�r�rgr6r�r6r6r7r��r�c�sD�|�|�IdH}|jtjurtd|j�d|j�d���tt|j�S)zrReceive TEXT message.

        Returns str when decode_text=True (default), bytes when decode_text=False.
        N�Received message �:z is not WSMsgType.TEXT)r�r.rr�rr�rr��r`r@r�r6r6r7r��s��c�sD�|�|�IdH}|jtjurtd|j�d|j�d���tt|j�S)Nr�r�z is not WSMsgType.BINARY)r�r.rr�rr�rr�r�r6r6r7�
receive_bytes�s��z%ClientWebSocketResponse.receive_bytes.)�loadsr@r�c�r�rgr6�r`r�r@r6r6r7�receive_json���z$ClientWebSocketResponse.receive_jsonc�r�rgr6r�r6r6r7r��r�c�r�rgr6r�r6r6r7r��r�c�s�|j|d�IdH}||�S)Nr�)r�)r`r�r@r�r6r6r7r�s�cCs|Srgr6rer6r6r7�	__aiter__sz!ClientWebSocketResponse.__aiter__c�r�rgr6rer6r6r7�	__anext__r�z!ClientWebSocketResponse.__anext__c�r�rgr6rer6r6r7r�r�c�r�rgr6rer6r6r7r�r�c�s.�|��IdH}|jtjtjtjfvrt�|Srg)r�r.rr�r�r��StopAsyncIteration)r`r�r6r6r7r�!s
�c�s�|Srgr6rer6r6r7�
__aenter__'s�z"ClientWebSocketResponse.__aenter__�exc_type�exc_val�exc_tbc�s�|��IdHdSrg)r�)r`r�r�r�r6r6r7�	__aexit__*s�z!ClientWebSocketResponse.__aexit__)rDN)r~rrDNrg)rt)Cr/r0r1rrr�rr-�boolr{ZAbstractEventLoopr3�intrarfrcrirhr_ror|rv�
BaseExceptionr�r�r��propertyr�r�r>r:r;rr�r�r�r�r�rrwr�r�rr!r�rr�rr�r�r	rr�rr�r�r r�rrr&r�r�r�r.rr�r6r6r6r7r8=s���������	���
�
�
-






(



����
������
�����
� 1��������������
�J������������ ���������������
���
�	������
����r8)9�__doc__r{ry�collections.abcr�typesr�typingrrrrrr	r2Z_websocket.readerrZclient_exceptionsrr
rZ
client_reqreprZhelpersrr�httprrrrrrrrZhttp_websocketrrZstreamsrZtypedefsrrrr r!rzr$Ztyping_extensionsr�r&r�r'�sr-ZDEFAULT_WS_CLIENT_TIMEOUTr8r6r6r6r7�<module>s8 (