Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
frame_protocol.cpython-313.pyc102 linesDownload Raw Back to __pycache__
1�

2��j^�	�^�SrSSKJr SSKrSSKrSSKrSSKJrJr SSK	J3r4 SSKJrJ
r
 \(aSSKJr SS	KJr \"S55V^s/sHm\"U4Sj\"S6555PM snr"SS
5r"SS5rSrSrSrSrSr\rSrSrSrSr Sr!Sr"Sr#"SS\75r$"SS\85r%\%RL\%RN\%RP4r)Sr*Sr+Sr,S r-S!r.S"r/S#r0S#r1\Rd"S$S5r3"S%S&\45r5"S'S(\
5r6"S)S*\
5r7"S+S,\
5r8S6S-jr9"S.S/5r:"S0S15r;"S2S35r<"S4S55r=gs snf)7zY9wsproto/frame_protocol10~~~~~~~~~~~~~~~~~~~~~~11 12WebSocket frame protocol implementation.13�)�annotationsN)�IncrementalDecoder�getincrementaldecoder)�IntEnum)�
TYPE_CHECKING�14NamedTuple)�	Generator�)�	Extension�c3�,># �UH	oT-v� M g7f�N�)�.0�a�bs  ��\D:\code\apps\devtools\python\user_packages\Python313\site-packages\wsproto/frame_protocol.py�	<genexpr>rs����.�:�a��E�:�s�c�(�\rSrSrSSjrSSjrSrg)�XorMaskerSimple�c��Xlgr��_masking_key)�self�masking_keys  r�__init__�XorMaskerSimple.__init__s��'��c��[U5nU(a�UnSUR5up4pVUSSS2RU5USSS2'USSS2RU5USSS2'USSS2RU5USSS2'USSS2RU5USSS2'[U5S-nURUSURSU-UlU$U$)Nc3�4# �UHn[Uv� M g7fr)�15_XOR_TABLE)r�ns  rr�*XorMaskerSimple.process.<locals>.<genexpr>!s���C�1B�A�*�Q�-�1B�s��r16��)�	bytearrayr�	translate�len)r�data�17data_arrayrr�c�d�key_rotations        r�process�XorMaskerSimple.processs���������J�C��1B�1B�C�J�A�!�(��1��o�7�7��:�J�s��s�O�)�!�$�Q�$�/�9�9�!�<�J�q�t�!�t��)�!�$�Q�$�/�9�9�!�<�J�q�t�!�t��)�!�$�Q�$�/�9�9�!�<�J�q�t�!�t���t�9�q�=�L��!�!�,�-�0�4�3D�3D�]�l�3S�S�
�����rrN)rzbytearray | bytes�return�None�r+r(r2r()�__name__�18__module__�__qualname__�__firstlineno__rr0�__static_attributes__rrrrrs��(�rrc��\rSrSrSSjrSrg)�
XorMaskerNull�2c��U$rr�rr+s  rr0�XorMaskerNull.process3s���rrNr4)r5r6r7r8r0r9rrrr;r;2s��rr;�~��}i��l������@� ��c�:�\rSrSrSrSrSrSrSrSr	Sr19SS	jrS20rg)
�Opcode�Mz/21RFC 6455, Section 5.2 - Base Framing Protocol22rr23r&��	�24c��[US-5$)NrK)�bool�rs r�	iscontrol�Opcode.iscontrolds���D�4�K� � rrN�r2rO)
r5r6r7r8�__doc__�CONTINUATION�TEXT�BINARY�CLOSE�PING�PONGrQr9rrrrIrIMs6���25�L��D��F�
�E��D��D�!rrIc�P�\rSrSrSrSrSrSrSrSr	Sr26S	rS27rSr
SrS
rSrSrSrSrg)�CloseReason�hz028RFC 6455, Section 7.4.1 - Defined Status Codes29��i�i�i�i�i�i�i�i�i�i�i�i�i�rN)r5r6r7r8rT�NORMAL_CLOSURE�30GOING_AWAY�PROTOCOL_ERROR�UNSUPPORTED_DATA�NO_STATUS_RCVD�ABNORMAL_CLOSURE�INVALID_FRAME_PAYLOAD_DATA�POLICY_VIOLATION�MESSAGE_TOO_BIG�
MANDATORY_EXT�INTERNAL_ERROR�SERVICE_RESTART�TRY_AGAIN_LATER�TLS_HANDSHAKE_FAILEDr9rrrr\r\hsn����N��J��N����N���"&����31�O��M�32�N��O��O� �rr\r^i�i�i�i�i�z!Ic�P^�\rSrSr\R334SU4SjjjrSrU=r$)�ParseFailed��c�0>�[TU]U5 X lgr)�superr�code)r�msgrr�	__class__s   �rr�ParseFailed.__init__�s���	������	r)rr)rs�strrrr\r2r3)	r5r6r7r8r\rarr9�
__classcell__)rts@rrnrn�s.���,7�,F�,F����)��	
��rrnc�4�\rSrSr%S\S'S\S'S\S'Srg)�RsvBits��rO�rsv1�rsv2�rsv3rN�r5r6r7r8�__annotations__r9rrrryry�s��34�J�35�J�36�Jrryc�H�\rSrSr%S\S'S\S'S\S'S\S	'S37\S'Srg
)�Header��rO�finry�rsvrI�opcode�int�payload_len�bytes | NonerrNr~rrrr�r��s��	
�I�	�L��N����rr�c�>�\rSrSr%S\S'S\S'S\S'S\S'S	rg38)�Frame��rIr�zbytes | str | tuple[int, str]�payloadrO�frame_finished�message_finishedrNr~rrrr�r��s���N�
*�*����rr�c�l�[U5U::aU$USUnURSSS9RS5$)N�utf-8�ignore)�errors)r*�decode�encode)r+�nbytess  r�_truncate_utf8r��s@��39�4�y�F�������=�D��;�;�w�x�;�0�7�7��@�@rc�^�\rSrSrSSSjjrS
SjrSSjrSSjrSSjrSSjr	SS	jr40S41rg)�BufferiNc�b�[5UlSUlU(aURU5 gg�Nr)r(�buffer�42bytes_used�feed)r�
initial_bytess  rr�Buffer.__init__s&���k��������I�I�m�$�rc�.�U=RU-
slgr)r�)r�	new_bytess  rr��Buffer.feeds�����y� �rc��U(d43[5$URURURU-nU=R[U5-
slU$r)r(r�r�r*)rr�r+s   r�consume_at_most�Buffer.consume_at_mostsA����;���{�{�4�?�?�T�_�_�v�-E�F�����3�t�9�$���rc�r�[UR5UR-44U:agURU5$r)r*r�r�r�)rr�s  r�consume_exactly�Buffer.consume_exactlys0���t�{�{��d�o�o�-��6���#�#�F�+�+rc�D�URSUR2	SUlgr��r�r�rPs r�commit�
Buffer.commits���K�K�)�$�/�/�)�*���rc��SUlgr�)r�rPs r�rollback�Buffer.rollbacks	����rc�,�[UR5$r)r*r�rPs r�__len__�Buffer.__len__!s���4�;�;��rr�r)r�r�r2r3)r��bytesr2r3)r�r�r2r()r�r�r2zbytearray | None�r2r3)r2r�)r5r6r7r8rr�r�r�r�r�r�r9rrrr�r�s%��%�!��,��45� rr�c�(�\rSrSrSSjrSSjrSrg)�MessageDecoderi%c� �SUlSUlgr)r��decoderrPs rr�MessageDecoder.__init__&s��%)���26��rc��URR5(aeURc<UR[RLa
Sn[	U5eURUlO8UR[RLaSUR<3n[	U5eUR[R46La[
S5"5UlUR=(a URnURc
URnON[UR[[45(deURRURU5n['URXARU5nU(aSUlSUlU$![a(n[	[!U5["R$5eSnAff=f)Nzunexpected CONTINUATIONzexpected CONTINUATION, got r�)r�rQrIrUrnrVrr�r�r�r��47isinstancer�r(r��UnicodeDecodeErrorrvr\rer�)r�framers�finishedr+�excs      r�
process_frame�MessageDecoder.process_frame*s_���<�<�)�)�+�+�+�+��;�;���|�|�v�2�2�2�/��!�#�&�&��,�,�D�K�
�\�\��!4�!4�
4�/����/?�@�C��c�"�"��<�<�6�;�;�&�0��9�;�D�L��'�'�B�E�,B�,B���<�<���=�=�D��e�m�m�e�Y�-?�@�@�@�@�
T��|�|�*�*�5�=�=�(�C���d�k�k�4�)=�)=�x�H����D�K��D�L����&�
T�!�#�c�(�K�,R�,R�S�S��
T�s�6&F�48G�#G�G)r�r�Nr��r�r�r2r�)r5r6r7r8rr�r9rrrr�r�%s��7� rr�c�|�\rSrSrS49SSjjrSSjrS
SjrSSjrSSjrSSjr	S	r50g)�FrameDecoderiMNc��XlU=(d /Ul[5UlSUlSUlSUlSUlSUlgr�)	�client�51extensionsr�r��header�effective_opcode�masker�payload_required�payload_consumed)rr�r�s   rr�FrameDecoder.__init__NsD����$�*�����h���%)���/3���>B��� !��� !��rc�:�URRU5 gr)r�r�r>s  r�
receive_bytes�FrameDecoder.receive_bytes\s��������rc��UR(dUR5(dgURceURceURce[	UR525UR:agURRUR-53nUR54RU5nU(dURRS:�agUR55R5 U=R[	U5-
slURURR:HnURRU5nURHKnURU[U55n[U[ 5(a
Sn[#Xe5e[%U5nMM U(aq[%5nURHSnUR'XRR(5n[U[ 5(a
Sn[#Xh5eUcMOXx-
nMU X'-
n[+UR[U5X0RR(5n	U(aSUlSUlSUlU	$[,R.UlU	$)Nr�error in extension)r��parse_headerr�r�r*r�r�r�r�r�r�r0r��frame_inbound_payload_datar�r�r\rnr(�frame_inbound_completer�r�rIrU)56r�payload_remainingr�r��	extension�payload_rs�final�resultr�s57          r�process_buffer�FrameDecoder.process_buffer_s���{�{�4�#4�#4�#6�#6���{�{�&�&�&��{�{�&�&�&��$�$�0�0�0��t�{�{��d�3�3�3�� �K�K�3�3�d�6K�6K�K���+�+�-�-�.?�@���4�;�;�2�2�Q�6������������W��-���(�(�D�K�K�,C�,C�C���+�+�%�%�g�.�����I� �;�;�D�%��.�Q�H��(�K�0�0�*��!�#�0�0���)�G�)���K�E�!�_�_�	�"�9�9�$�����P���f�k�2�2�.�C�%�c�2�2��%��O�E�
-�
��G��d�+�+�U�7�^�X�{�{���W����D�K�$(�D�!��D�K���%+�$7�$7�D�!��rc��URRS5nUcURR5 g[US[-5n[[US[-5[US[-5[US[-55nUS[-n[U5nUR5(aU(d
Sn[U5e[US[-5nUS[-nUR!XG5nUcURR5 gUR#XCU5 U(aUR$(a
Sn[U5eU(dUR$(d
S	n[U5eU(aJURRS585n	U	cURR5 g['U	5UlO[+5UlURR-5 [/X#XHS5UlUR0R2UlUR0R2R5(aX�lOSUlSUlg![a SUS3n[U5ef=f)Nr&FrzInvalid opcode z#xz)Invalid attempt to fragment control framer59z'client received unexpected masked framez)server received unexpected unmasked framer%T)r�r�r�rO�FIN_MASKry�	RSV1_MASK�	RSV2_MASK�	RSV3_MASK�OPCODE_MASKrI�60ValueErrorrnrQ�	MASK_MASK�PAYLOAD_LEN_MASK�parse_extended_payload_length�extension_processingr�rr�r;r�r�r�r�r�r�r�)61rr+r�r�r�rs�has_mask�payload_len_shortr�rs62          rr��FrameDecoder.parse_header�s!���{�{�*�*�1�-���<��K�K� � �"���4��7�X�%�&�����a��9�$�%���a��9�$�%���a��9�$�%�63��64�a��;�&��	#��F�^�F�65�����c�=�C��c�"�"���Q��)�+�,�� ��G�&6�6���8�8��S�����K�K� � �"���!�!�&�{�;�����;�C��c�"�"�����=�C��c�"�"���+�+�5�5�a�8�K��"����$�$�&��)�+�6�D�K�'�/�D�K��������S�v�D�A��� $��� 2� 2����;�;���'�'�)�)�$/�!�$%�D�!� !�����Q�	#�#�F�2�;�/�C��c�"�"�	#�s�"I(�(Jc���UR5(aU[:�a
Sn[U5eU[:XaRURRS5nUcg[R"SU5unU[::a
Sn[U5eU$U[:XafURRS5nUcg[R"SU5unU[::a
Sn[U5eUS-	(a
S	n[U5eU$)66Nz$Control frame with payload len > 125r&�!Hz6Payload length used 2 bytes when 1 would have sufficedrK�!Qz6Payload length used 8 bytes when 2 would have sufficed�?z'8-byte payload length with non-zero MSB)67rQ�MAX_PAYLOAD_NORMALrn�PAYLOAD_LENGTH_TWO_BYTEr�r��struct�unpack�PAYLOAD_LENGTH_EIGHT_BYTE�MAX_PAYLOAD_TWO_BYTE)rr�r�rsr+s     rr��*FrameDecoder.parse_extended_payload_length�s�������+�0B�"B�8�C��c�"�"��1�1��;�;�.�.�q�1�D��|��#�]�]�4��6�N�[��0�0�N��!����1�*��!�5�
5��;�;�.�.�q�1�D��|��#�]�]�4��6�N�[��2�2�N��!�����b� �@��!�#�&�&��rc�>�/SQnURHXnURXX#5n[U[5(a
Sn[	Xv5e[U5Hup�U	(dMSXH'M MZ [
XB5H"up�U(dMU68(aMSn[	U5e g)N)FFFr�TzReserved bit set unexpectedly)r��frame_inbound_headerr�r\rn�	enumerate�zip)rr�r�r��rsv_usedr�r�rs�bit�used�expected�founds            rr��!FrameDecoder.extension_processing�s���)�����I��3�3�D�#�S�F��&�+�.�.�*��!�#�.�.�&�v�.�	���4�$(�H�M�/�)� #�8�1�O�H��u�X�X�5��!�#�&�&� 2r)r�r�r�r�r�r�r�r�r)r�rOr�zlist[Extension] | Noner2r3�r+r�r2r3)r2zFrame | NonerS)r�rIr�r�r2�69int | None)r�rIr�ryr�r�r2r3)r5r6r7r8rr�r�r�r�r�r9rrrr�r�Msv��AE�"��"�(>�"�	
�"��1�f7�r �� �+.� �	� �D'��'�#*�'�9<�'�	
�'rr�c��\rSrSrSSjrSSjrSSjrSSjrSSjrSSSjjr	SSS	jjr70SSS71jjrSSSjjrSSjr
SSS
jjrSrg)�
FrameProtocoli�c��XlUVs/sHo3R5(dMUPM snUl[URUR5Ul[5UlUR5UlSUl	gs snfr)72r��enabledr�r��_frame_decoderr��_message_decoder�_parse_more_gen�_parse_more�_outbound_opcode)rr�r��exts    rr�FrameProtocol.__init__sf����*4�F�*�3���
�3�*�F���+�4�;�;����H��� .� 0����/�/�1���/3����Gs73�B�Bc�4�URn[U[[45(deU(d[R74S4nO�[
U5S:Xa
Sn[U5e[R"SUSS5unU[:d75U[:�a
Sn[U5e[R"[5 [	U5nSSS5 U[;a
Sn[U5e[U[5(dU[ ::a
Sn[U5eUSSR#S	5nXE4n[+UR,X!R.UR05$!,(df   N�=f![$a+n[S76['U5-[R(5eSnAff=f)N�r77zCLOSE with 1 byte payloadr�r&zCLOSE with invalid codez#remote CLOSE with local-only reasonz CLOSE with unknown reserved coder�zError decoding CLOSE reason: )r�r�r�r(r\rcr*rnr�r��MIN_CLOSE_REASON�MAX_CLOSE_REASON�78contextlib�suppressr��LOCAL_ONLY_CLOSE_REASONS�MAX_PROTOCOL_CLOSE_REASONr�r�rvrer�r�r�r�)rr�r+rsrr�reasonr�s       r�_process_close�FrameProtocol._process_closesd���}�}���$��	� 2�3�3�3�3�� �.�.��3�D�
��Y�!�^�-�C��c�"�"��m�m�D�$�r��(�3�G�T��&�&�$�1A�*A�/��!�#�&�&��$�$�Z�0�"�4�(��1��/�/�;��!�#�&�&��d�K�0�0�T�=V�5V�8��!�#�&�&�
��a�b�����1���>�D��U�\�\�4�)=�)=�u�?U�?U�V�V�#1�0��&�
�!�3�c�#�h�>��:�:����
�s$�7E�E"�79E�"80F�,&F�Fc#��# �URVs/sHoR5(dMUPM snUlSnU(d�URR5nUblURR5(dURRU5nO1UR[R:XaURU5nSnUv� U(dM�ggs snf7f)NFT)r�rrr�r�rQrr�rIrXr)rr�closedr�s    rr�FrameProtocol._parse_more_gen.s����+/�/�/�K�/�3�[�[�]�3�/�K�������'�'�6�6�8�E�� ��|�|�-�-�/�/� �1�1�?�?��F�E��\�\�V�\�\�1� �/�/��6�E�!�F��K��&��L�s�C!�C�C�B%C!�C!c�:�URRU5 gr)rr�r>s  rr��FrameProtocol.receive_bytesCs�����)�)�$�/rc#�D# �URHnUc gUv� M g7fr)r	)r�events  r�received_frames�FrameProtocol.received_framesFs"����%�%�E��}����	&�s� Nc�~�[5nU[RLaSnUcU(a
Sn[U5eU[;a[R81nUbKU[[R"SU55-
nUb%U[URS5[S-825-
nUR[RU5$)Nz&cannot specify a reason without a coder�r�r&)r(r\rc�	TypeErrorrr_r��packr�r�r��_serialize_framerIrX)rrrrr�rss     r�close�FrameProtocol.closeMs����+���;�-�-�-��D��<�F�:�C��C�.� ��+�+��-�-�D����y����T�4�!8�9�9�G��!��>��M�M�'�*�,>��,B�����$�$�V�\�\�7�;�;rc�B�UR[RU5$r)r$rIrY�rr�s  r�ping�FrameProtocol.ping_����$�$�V�[�[�'�:�:rc�B�UR[RU5$r)r$rIrZr(s  r�pong�FrameProtocol.pongbr+rc��[U[[[45(a[R83nOD[U[5(a"[RnURS5nO
Sn[U5eURcX0l84O,URULa
Sn[U5e[RnU(aSUl85URX1U5$)Nr�zMust provide bytes or textz!Data type mismatch inside message)
r�r�r(�86memoryviewrIrWrvrVr�r"r87rUr$)rr�r�r�rss     r�	send_data�FrameProtocol.send_dataes����g��y�*�=�>�>��]�]�F�
���
%�
%��[�[�F��n�n�W�-�G�.�C��C�.� �� � �(�$*�!�
�
"�
"�&�
0�5�C��C�.� ��(�(�F��$(�D�!��$�$�V�c�:�:rc���[U5S-n[UR5S-[UR5S--[UR5S--n[U5nXE-U-$)N���r%)r�r{r|r})rr�r�r��fin_bits�rsv_bits�opcode_bitss       r�_make_fin_rsv_opcode�"FrameProtocol._make_fin_rsv_opcode~s]���s�8�q�=������M�Q�&�3�s�x�x�=�A�+=�>�#�c�h�h�-�ST�BT�U���&�k���"�[�0�0rc	�H�[U5n[SSS5n[UR5H"nUR	XU[U5U5upBM$ UR
X4U5n[U5nSnU[::aUn	Sn88OU[::a	[n	Un89O90[n	Un91SnUR(aU	S-n	[Xi/5nU92bpUR5(a
Sn[U5eU(a$U[[R "SU9355-
nO#U[[R "SU9455-
nUR(aR[["R$"S55n
['U
5n[X�-UR)[U55-5$[X�-5$)NFTrCz"payload too long for control framer�r�r%)r(ry�reversedr��frame_outboundr�r:r*r�r�r�r�r�rQr�r�r#�os�urandomrr0)rr�r�r�r�r��fin_rsv_opcode�payload_length�quad_payload�
first_payload�second_payloadr�rsrr�s               rr$�FrameProtocol._serialize_frame�sr���G�$���e�U�E�*��!�$�/�/�2�I�$�3�3�D�#�u�W�~�WZ�[�L�C��3��2�2�3�V�D���W������/�/�*�M�!�N�
�3�
3�3�M�+�N�5�M�+�N��L��;�;��V�#�M��N�:�;���%����!�!�:�� ��o�%���)�F�K�K��n�$E�F�F���)�F�K�K��n�$E�F�F���;�;�$�B�J�J�q�M�2�K�$�[�1�F��V�1�F�N�N�9�W�CU�4V�V�W�W���)�*�*r)rrr95r	r�r�)r�rOr�zlist[Extension]r2r3r�)r2z#Generator[Frame | None, None, None]r)r2zGenerator[Frame, None, None])NN)rrrrz96str | Noner2r()r)r�r�r2r()rT)r�zbytes | bytearray | strr�rOr2r()r�rOr�ryr�rIr2r�)r�rIr�zbytes | bytearrayr�rOr2r()r5r6r7r8rrrr�rr%r)r-r1r:r$r9rrrrr�s���	4�!W�F�*0��<�$;�;�CG�;�.�;�;?�;�	�;�21�MQ�5+��5+�'8�5+�EI�5+�	�5+�5+rr)r+r�r�r�r2r�)>rT�97__future__rrr?r��codecsrr�enumr�typingrr�collections.abcr	r�r�ranger�r"rr;r�r�r�r��MAX_PAYLOAD_EIGHT_BYTE�MAX_FRAME_PAYLOADr�r�r�r�r�r�r�rIr\rcrdrlrr�MIN_PROTOCOL_CLOSE_REASONr�MIN_LIBRARY_CLOSE_REASON�MAX_LIBRARY_CLOSE_REASON�MIN_PRIVATE_CLOSE_REASON�MAX_PRIVATE_CLOSE_REASONrr#�	NULL_MASK�	Exceptionrnryr�r�r�r�r�r�r)rspr�<module>rVs�����#��	�
�<��,��)�%�9>�c�98�
C�99�1�e�.�5��:�.�.�100�
C�101���2�������� ��"��*��
�	������	��	��	���!�W�!�6T �'�T �r���� � ��$�$����� �� ������������
�K�K��a� �	��)���j���Z���J��A�! �! �H%�%�Po'�o'�d{+�{+��SDs�102"E
codekingpro/portable-devtools · Team Ai