Viewing 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/dZ0ej1ddddGdddZ2Gddde.Z3dS)N)AnyIterableOptionalTuple)CIMultiDict)hdrs)AbstractStreamWriter)
call_later
set_result)
WS_CLOSED_MESSAGEWS_CLOSING_MESSAGEWS_KEYWebSocketErrorWebSocketReaderWebSocketWriter	WSMessage	WSMsgType
ws_ext_genws_ext_parse)	ws_logger)	EofStreamFlowControlDataQueue)JSONDecoderJSONEncoder)HTTPBadRequest
HTTPException)BaseRequest)StreamResponse)WebSocketResponseWebSocketReadyrT)Zauto_attribsfrozenslotsc@s0eZdZUeed<eeed<edddZdS)r okprotocolreturncCs|jSN)r$selfr+A/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/web_ws.py__bool__0szWebSocketReady.__bool__N)__name__
__module____qualname__bool__annotations__rstrr-r+r+r+r,r +s
r cseZdZdZdddddddddeeeeeeeeeee	dd	fd	d
Z
dddd
ZddddZddddZ
ddddZeedfddZeedeeefdddZeeeefdddZeeeddddZeeddd Zeedd!d"Zeee	dd#d$Zeeedd%d&Zeedd'd(Zeedd)d*ZdWe dd,d-d.Z!dXe dd,d/d0Z"dYeeedd1d2d3Z#dZe eedd1d4d5Z$d[e%j&d6e'eee(dd7d8d9Z)ddd:d;Z*d<d+d=e	e ed>d?d@Z+d\eee,dAdBdCZ-ddDeeedAdEdFZ.ddDeee dAdGdHZ/e%j0ddIe1eee'dJdKdLZ2e ddMdNdOZ3dddPdQZ4e,ddRdSZ5eddTdUdVZ6Z7S)]rFg$@NTr+i@)timeoutreceive_timeout	autocloseautoping	heartbeat	protocolscompressmax_msg_size)	r4r5r6r7r8r9r:r;r'c	stjdd||_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_||_
||_||_||_||_d|_|dk	r|d|_d|_||_||_dS)Ne)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|jd|_|jdk	r4|jd|_dSr()rQcancelrOr)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|jt|j	|j
|j|_dSr()rNrCrGZcreate_taskrApingrQrVr
_pong_not_receivedrPr)r+r+r,rXms

z!WebSocketResponse._send_heartbeatcCs<|jdk	r8|jjdk	r8d|_d|_t|_|jjdS)NT)Z_req	transportrCrFasyncioTimeoutErrorrIcloser)r+r+r,r[zs

z$WebSocketResponse._pong_not_received)requestr'csP|jdk	r|jS||\}}t|IdH}|||||IdH|Sr()_payload_writer
_pre_startr=prepare_post_startdrain)r*rar%writerZpayload_writerrTr+r,rds
zWebSocketResponse.preparezCIMultiDict[str]cCs|j}d|tjdkr8td|tjdd|tjdkrftd|tjdd}tj	|krdd|tj	
d	D}|D]}||jkr|}qqt
d
||j|tjd}|dkrtd|d|tj}z.|rtt|d
krtd|dWn*tjk
rDtd|ddYnXtt|t}ttjdtjdtj|i}	d}
d}|jr|tj}t |dd\}}
|rt!|d|
d}
|
|	tj<|r||	tj	<|	|||
fS)NZ	websocketz@No WebSocket UPGRADE hdr: {}
 Can "Upgrade" only to "WebSocket".)textZupgradezNo CONNECTION upgrade hdr: {}cSsg|]}t|qSr+)r3strip).0protor+r+r,
<listcomp>sz0WebSocketResponse._handshake.<locals>.<listcomp>,u8Client protocols %r don’t overlap server-known ones %r)Z1387zUnsupported version: zHandshake error: FrT)isserver)r:rrZserver_notakeover)"headersgetrZUPGRADElowerrjrformatZ
CONNECTIONZSEC_WEBSOCKET_PROTOCOLsplitr?rZwarningZSEC_WEBSOCKET_VERSIONZSEC_WEBSOCKET_KEYlenbase64Z	b64decodebinasciiErrorZ	b64encodehashlibZsha1encoderZdigestdecoderZSEC_WEBSOCKET_ACCEPTrRZSEC_WEBSOCKET_EXTENSIONSrr)r*rarsr%Z
req_protocolsrlversionkeyZ
accept_valZresponse_headers
notakeoverr:
extensionsZ
enabledextr+r+r,
_handshakes





zWebSocketResponse._handshakecCs`|j|_||\}}}}|d|j||||_|jj}t	|j|||d}||fS)Nr<)r:r)
rGrZ
set_statusrsupdateZforce_closerR	_protocolr]r)r*rarsr%r:rr]rgr+r+r,rcs
zWebSocketResponse._pre_start)rar%rgr'cCsX||_||_||j}t|jd|d|_|jt	|j|j
|jd|jddS)Niloopr:F)
r@rArYrGrrrBr%Z
set_parserrrSrRZ
keep_alive)r*rar%rgrr+r+r,reszWebSocketResponse._post_startcCsV|jdk	rtdz||\}}}}Wntk
rFtddYSXtd|SdS)NzAlready startedFT)rARuntimeErrorrrr )r*ra_r%r+r+r,can_prepares
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'cs(|jdkrtd|j|IdHdSNCall .prepare() first)rArrZr*rr+r+r,rZs
zWebSocketResponse.pingcs(|jdkrtd|j|IdHdSr)rArpongrr+r+r,r!s
zWebSocketResponse.pong)datar:r'csH|jdkrtdt|ts,tdt||jj|d|dIdHdS)Nrzdata argument must be str (%r)FZbinaryr:)rAr
isinstancer3	TypeErrortypesendr*rr:r+r+r,send_str's


zWebSocketResponse.send_strcsN|jdkrtdt|tttfs2tdt||jj|d|dIdHdS)Nrz#data argument must be byte-ish (%r)Tr)	rArrbytes	bytearray
memoryviewrrrrr+r+r,
send_bytes.s

zWebSocketResponse.send_bytes)dumps)rr:rr'cs|j|||dIdHdS)Nr)r)r*rr:rr+r+r,	send_json5szWebSocketResponse.send_jsoncs4|jr
dS|jdkrtd|IdHd|_dS)NzResponse has not been startedT)Z	_eof_sentrbrr`r)r+r+r,	write_eof>s
zWebSocketResponse.write_eof)coder)rrr'c
s|jdkrtd||j}|jdk	rH|jsH|td|jIdH|jsd|_z,|j||IdH|j	}|
IdHWnVtjtj
fk
rd|_Yn4tk
r}zd|_||_WYdSd}~XYnX|jrdS|j}z0tj|j|jd|IdH}W5QRXWnTtjk
r:d|_Yn6tk
rn}zd|_||_WYdSd}~XYnX|jtjkr|j|_dSd|_t
|_dSdSdS)NrrTr\rF)rArrWrBrHrCZ	feed_datar
r`rbrfr^CancelledErrorr_rF	ExceptionrIrD
async_timeoutr4rJrGreadrrCLOSEr)r*rrreaderrgexcmsgr+r+r,r`GsP

zWebSocketResponse.close)r4r'c
s`|jdkrtd|j}|jdk	r*td|jrT|jd7_|jtkrPtdtS|jr^t	Szh|
|_z>tj
|px|j|jd|jIdH}W5QRX|W5|j}t|dd|_XWntjtjfk
rd|_Yntk
r d|_|IdHttjddYStk
rp}z2|j|_|j|jd	IdHttj|dWYSd}~XYnVtk
r}z6||_d|_d|_|IdHttj|dWYSd}~XYnX|jtj krd|_|j!|_|js\|j"r\|IdHnZ|jtj#krd|_nD|jtj$krD|j%rD|&|j!IdHqn|jtj'kr\|j%r\q|S)
Nrz+Concurrent call to receive() is not allowedrzWebSocket connection is closed.Trr\r)r)(rBrrGrHrCrETHRESHOLD_CONNLOST_ACCESSrrDr
Z
create_futurerrr4rKrrYr^rr_rFrr`rrCLOSEDrrZERRORrrIrrrrLCLOSINGZPINGrMrZPONG)r*r4rZwaiterrrr+r+r,receive~sl




"$zWebSocketResponse.receiver4cs6||IdH}|jtjkr0td|j|j|jS)Nz.Received message {}:{!r} is not WSMsgType.TEXT)rrrZTEXTrrvrr*r4rr+r+r,receive_strszWebSocketResponse.receive_strcs<||IdH}|jtjkr6td|jd|jd|jS)NzReceived message :z
 is not bytes)rrrZBINARYrrrr+r+r,
receive_bytesszWebSocketResponse.receive_bytes)loadsr4)rr4r'cs|j|dIdH}||S)Nr)r)r*rr4rr+r+r,receive_jsonszWebSocketResponse.receive_json)rr'cstddS)Nz"Cannot call .write() for websocket)r)r*rr+r+r,writeszWebSocketResponse.writecCs|Sr(r+r)r+r+r,	__aiter__szWebSocketResponse.__aiter__cs,|IdH}|jtjtjtjfkr(t|Sr()rrrrrrStopAsyncIteration)r*rr+r+r,	__anext__szWebSocketResponse.__anext__)rr'cCs|jdk	r|j|dSr()rBZ
set_exception)r*rr+r+r,_cancels
zWebSocketResponse._cancel)r)r)N)N)N)N)8r.r/r0Z
_length_checkfloatrr1rr3intr>rWrYrXr[rr	rdrrrrcrer rpropertyrrrr:
BaseExceptionrrrZrrrjsonrrrrrr`rrrrrrrrrrr
__classcell__r+r+rTr,r4s$	

P

		7?
r)4r^ryrzr|rtypingrrrrrattrZ	multidictrrhrabcr	Zhelpersr
rZhttprr
rrrrrrrrlogrZstreamsrrZtypedefsrrZweb_exceptionsrrZweb_requestrZweb_responser__all__rsr rr+r+r+r,<module>s.0
Back to Directory File Manager