Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
_abnf.cpython-313.pyc114 linesDownload Raw Back to __pycache__
1�

2q�j!=���SSKrSSKrSSKrSSKrSSKJr SSKJrJrJ	r	J3r4 SSKJrJ
r
 SSKJr SSKJr S\RS	\RS5\4Sjr/S
QrSrSrSrSrSrSrSrSrSr Sr!Sr"Sr#Sr$Sr%Sr&\\\\\\\ \!\"\#\$\%4r'"SS5r("SS 5r)"S!S"5r*g!\a. \R*rS\RS	\RS6\4SjrN�f=f)#�N)�Lock)�Callable�Optional�Union�Any�)�WebSocketPayloadException�WebSocketProtocolException)�
validate_utf8)�XorMaskerSimple�7mask_value�8data_value�returnc�:�[U5RU5nU$�N)r�process)r
r�mask_results   �UD:\code\apps\devtools\python\user_packages\Python313\site-packages\websocket/_abnf.py�_maskr%s��,�Z�8�@�@��L����c���[U5n[RU[5n[RXS--USUS--[5nX4-R	U[5$)N�)�len�int�9from_bytes�native_byteorder�to_bytes)r
r�datalen�int_data_value�int_mask_values     rrr-s`���j�/�����10�4D�E������Q�,�'�*�]�w��{�*C�C�EU�11���/�9�9�'�CS�T�Tr)�ABNF�continuous_frame�frame_buffer�
STATUS_NORMAL�STATUS_GOING_AWAY�STATUS_PROTOCOL_ERROR�STATUS_UNSUPPORTED_DATA_TYPE�STATUS_STATUS_NOT_AVAILABLE�STATUS_ABNORMAL_CLOSED�STATUS_INVALID_PAYLOAD�STATUS_POLICY_VIOLATION�STATUS_MESSAGE_TOO_BIG�STATUS_INVALID_EXTENSION�STATUS_UNEXPECTED_CONDITION�STATUS_BAD_GATEWAY�STATUS_TLS_HANDSHAKE_ERRORi�i�i�i�i�i�i�i�i�i�i�i�i�i�i�c��\rSrSrSrSrSrSrSrSr	Sr12\\\\\	\134r\S	\S14\S\S\	S
\15S0rSr
SrSrSSSS\SS4S\S\S\S\S\S\S\\\\4SS4SjjrS(S\SS4Sjjr\S\S\4S j5rS\4S!jr\S)S\\\4S\S\SS4S"jj5rS\4S#jrS$\\\4S\4S%jr\S$\\\4S\\\4S\4S&j5rS'rg)*r!�jzm16ABNF frame class.17See http://tools.ietf.org/html/rfc523418and http://tools.ietf.org/html/rfc6455#section-5.219rr���	�20�cont�text�binary�close�ping�pong�~il��fin�rsv1�rsv2�rsv3�opcoder
�datarNc��XlX lX0lX@lXPlX`lUcSnXpl[RUl	g)z721Constructor for ABNF. Please check RFC for arguments.22Nr>)23r?r@rArBrCr
rD�os�urandom�get_mask_key)�selfr?r@rArBrCr
rDs        r�__init__�
ABNF.__init__�s=�����	��	��	���$���<��D��	��J�J��r�skip_utf8_validationc�|�UR(d"UR(dUR(a[S5eUR[24R;a[SUR5eUR[25R:XaUR(d[S5eUR[26R:Xa�[UR5nU(dgUS:XdUS:�a[S5eUS:�a/U(d([URSS5(d[S5e[UR[5(aURSSOURSSRS	5n[ R""S27U5SnUR%U5(d[SU5egg)
z]28Validate the ABNF frame.29 30Parameters31----------32skip_utf8_validation: skip utf8 validation.33zrsv is not implemented, yetzInvalid opcode %rzInvalid ping frame.Nrr=zInvalid close frame.r3�utf-8�!HrzInvalid close opcode %r)r@rArBr34rCr!�OPCODES�OPCODE_PINGr?�OPCODE_CLOSErrDr�35isinstance�bytes�encode�struct�unpack�_is_valid_close_status)rIrL�data_length�36data_bytes�codes     r�validate�
ABNF.validate�sS���9�9��	�	�T�Y�Y�,�-J�K�K��;�;�d�l�l�*�,�-@�$�+�+�N�N��;�;�$�*�*�*�4�8�8�,�-B�C�C��;�;�$�+�+�+��d�i�i�.�K����a��;�#�#5�0�1G�H�H��a��,�%�d�i�i���m�4�4�0�1G�H�H��d�i�i��/�/��	�	�"�1�
��Y�Y�r��]�)�)�'�2�
�37�=�=��z�2�1�5�D��.�.�t�4�4�0�1J�D�Q�Q�5�',rr[c�L�U[;=(d SUs=:*=(a S:$s $)Ni�i�)�VALID_CLOSE_STATUS)r[s rrX�ABNF._is_valid_close_status�s&���)�)�B�d�d�.A�.A�T�.A�B�.A�Brc���[UR[5(aURO[UR5nSURSUR38SU3$)Nzfin=z opcode=z data=)rSrD�str�reprr?rC)rI�	data_reprs  r�__str__�ABNF.__str__�sF��!+�D�I�I�s�!;�!;�D�I�I��d�i�i��	��d�h�h�Z�x����}�F�9�+�F�Frc	��U[R:Xa&[U[5(aUR	S5n[USSSUSU5$)az39Create frame to send text, binary and other data.40 41Parameters42----------43data: str44    data to send. This is string value(byte array).45    If opcode is OPCODE_TEXT and this value is unicode,46    data value is converted into unicode string, automatically.47opcode: int48    operation code. please see OPCODE_MAP.49fin: int50    fin flag. if set to 0, create continue fragmentation.51rNrr)r!�OPCODE_TEXTrSrbrU)rDrCr?s   r�create_frame�ABNF.create_frame�sC�� �T�%�%�%�*�T�3�*?�*?��;�;�w�'�D��C��A�q�&�!�T�2�2rc���[SURURURUR455(a[S5eUR[R;a[S5e[UR5nU[R:�a[S5e[URS-URS--URS--URS--UR-5RS	5nU[R:a.U[URS-U-5RS	5-
nO�U[R :aHU[URS-S52-5RS	5-
nU["R$"SU5-
nOGU[URS-S-5RS	5-
nU["R$"S
U5-
nUR(dM['UR[(5(a URRS5Ul53X R-$UR+S5nX R-U5-$)zB54Format this object to string(byte array) to send data to server.55c3�*# �UH	oS;v� M g7f))rrN�)�.0�xs  r�	<genexpr>�ABNF.format.<locals>.<genexpr>�s���T�(S�1���(S�s�z56not 0 or 1zInvalid OPCODEzdata is too long���r�latin-1r=rO��!QrN)�anyr?r@rArB�57ValueErrorrCr!rPrrD�	LENGTH_63�chrrU�LENGTH_7r
�	LENGTH_16rV�packrSrbrH�_get_masked)rI�length�frame_header�mask_keys    r�format�ABNF.format�s����T����4�9�9�d�i�i����(S�T�T�T��\�*�*��;�;�d�l�l�*��-�.�.��T�Y�Y����T�^�^�#��/�0�0���H�H��M��i�i�1�n�
��i�i�1�n�
��i�i�1�n�
��k�k�	
�58��&��59�
	��D�M�M�!��C����1� 4�v� =�>�E�E�i�P�P�L�
�d�n�n�
$��C����1� 4�t� ;�<�C�C�I�N�N�L��F�K�K��f�5�5�L��C����1� 4�t� ;�<�C�C�I�N�N�L��F�K�K��f�5�5�L�����$�)�)�S�)�)� �I�I�,�,�W�5��	��)�)�+�+��$�$�Q�'���.�.�x�8�8�8rr�c��[RXR5n[U[5(aURS5nX-$)NrN)r!�maskrDrSrbrU)rIr��ss   rr�ABNF._get_maskeds7���I�I�h�	�	�*���h��$�$����w�/�H��|�rc��UcSn[U[5(aURS5n[U[5(aURS5n[[R"SU5[R"SU55$)z�60Mask or unmask data. Just do xor for each byte61 62Parameters63----------64mask_key: bytes or str65    4 byte mask.66data: bytes or str67    data to mask/unmask.68r>ru�B)rSrbrUr�array)r�rDs  rr��	ABNF.masksg���<��D��h��$�$����y�1�H��d�C� � ��;�;�y�)�D��U�[�[��h�/����S�$�1G�H�Hr)rDr?rHr
rCr@rArB)F)r) �__name__�69__module__�__qualname__�__firstlineno__�__doc__�OPCODE_CONTrh�
OPCODE_BINARYrRrQ�OPCODE_PONGrP�70OPCODE_MAPr|r}rzrrrrbrTrJ�boolr\�staticmethodrXrerir�rr��__static_attributes__rmrrr!r!js�����K��K��M��L��K��K�	������
�G�	�V��V��x��g��V��V�
�J��H��I��I�����!��,.�'�
�'��'��	'�71�'��
'��'��u�S�%�Z�(�)�'�72�'�0%R�T�%R�d�%R�N�C�S�C�T�C��C�G��G��3�5����,�3�c�3��3�F�3��3�(!9��!9�F�E�#�u�*�$5��%���I�u�S�%�Z�(�I��c�5�j�0A�I�e�I��Irr!c���\rSrSrSrSrS\\/\4S\SS4Sjr	SS	jr73S\4S74jrSSjrS\
\\44SjrS\4S
jrSSjrS\4SjrSSjrS\4SjrS\S\4SjrSrg)r#i1rtrs�recv_fnrLrNc�h�XlX l/UlUR5 [	5Ulgr)�recvrL�recv_buffer�clearr�lock)rIr�rLs   rrJ�frame_buffer.__init__5s+���	�$8�!�"$����75�76���F��	rc�.�SUlSUlSUlgr)�headerr�r
�rIs rr��frame_buffer.clear@s��'+���%)���7;��rc��URSL$r)r�r�s r�needs_header�frame_buffer.needs_headerE����{�{�d�"�"rc��URS5nUSnUS-	S-nUS-	S-nUS-	S-nUS-	S-nUS-nUSnUS-	S-n	US	-n77X4XVXyU784Ulg)79Nr3rrrrrsrtr�rv)�recv_strictr�)rIr��b1r?r@rArBrC�b2�has_mask�length_bitss           r�recv_header�frame_buffer.recv_headerHs����!�!�!�$��
�A�Y���A�g��k���Q�w��{���Q�w��{���Q�w��{���c���
�A�Y����7�Q�;���4�i���$�f��L��rc�d�UR(dgUR[RnU$)NF)r�r#�_HEADER_MASK_INDEX)rI�80header_vals  rr��frame_buffer.has_maskVs&���{�{���+�+�l�&E�&E�F�81��rc��URSL$r)r�r�s r�needs_length�frame_buffer.needs_length\r�rc�`�URc[S5eUR[RnUS-nUS:Xa1UR	S5n[82R"SU5SUlgUS:Xa1UR	S5n[83R"SU5SUlgX lg)	N�Header not receivedrvr=r3rOrr4rw)r�r84r#�_HEADER_LENGTH_INDEXr�rVrWr�)rI�bitsr��vs    r�recv_length�frame_buffer.recv_length_s����;�;��,�-B�C�C��{�{�<�<�<�=���T�k���$��� � ��#�A� �-�-��a�0��3�D�K�
�D�
 �� � ��#�A� �-�-��a�0��3�D�K�%�Krc��URSL$r)r
r�s r�85needs_mask�frame_buffer.needs_maskms�����$�&�&rc�j�UR5(aURS5UlgSUlg)Nrr>)r�r�r
r�s r�	recv_mask�frame_buffer.recv_maskps$��15�����$�*�*�1�-���b��rc86��UR UR5(aUR5 URc[	S5eURupp4pVnUR5(aUR
5 URnUR5(aUR5 URn	Uc[	S5eURU5n87U(a#U	c[	S5e[RX�5n88UR5 [XX4XVU895nURUR 5 SSS5 U$!,(df   W$=f)Nr�zLength not receivedzMask not received)r�r�r�r�r90r�r�r�r�r�r
r�r!r�r�r\rL)rIr?r@rArBrCr��_r�r
�payload�frames            r�91recv_frame�frame_buffer.recv_framess%��
�Y�Y�� � �"�"�� � �"��{�{�"�0�1F�G�G�;?�;�;�8�S��F�a�� � �"�"�� � �"��[�[�F���� � ���� ����J��~�0�1F�G�G��&�&�v�.�G���%�4�5H�I�I��)�)�J�8��
�J�J�L���D��'�J�E��N�N�4�4�4�5�?�B��C�Y�B��s�D3E92�93 94E�bufsizec���[U[5(d[S5eU[SUR55-95nUS:�acUR[
SU55n[U[5(a*URRU5 U[U5-nOOUS:�aMcSRUR5nUS:Xa	/UlU$XAS/UlUSU$)Nzbufsize must be an integerc3�8# �UHn[U5v� M g7fr)r)rn�bufs  rrp�+frame_buffer.recv_strict.<locals>.<genexpr>�s��� F�5E�c��S���5E�s�ri@r)rSrry�sumr�r��minrT�appendr�join)rIr��shortage�bytes_�unifieds     rr��frame_buffer.recv_strict�s����'�3�'�'��9�:�:��S� F�T�5E�5E� F�F�F����l��Y�Y�s�5�(�3�4�F��&�%�(�(�� � �'�'��/��C��K�'�����l��(�(�4�+�+�,���q�=�!�D���N� '�� 1�2�D���8�G�$�$r)r�r�r�r
r�r�rL)rN)r�r�r�r�r�r�rrr�rJr�r�r�rr�r�r�r�r�r!r�rTr�r�rmrrr#r#1s�������	����s�96�+�	�CG�	�	
�	�<�97#�d�#�M��%��c�	�*��#�d�#�&�'�D�'�I�"�D�"�H%�3�%�5�%rr#c�|�\rSrSrS\S\SS4SjrS\SS4SjrS\SS4S	jrS\S\	\\9844S99jrS\S\4Sjr
Srg)
r"i��fire_cont_framerLrNc�8�XlX lSUlSUlgr)r�rL�	cont_data�recving_frames)rIr�rLs   rrJ�continuous_frame.__init__�s��.��$8�!�.2���-1��rr�c��UR(d)UR[R:Xa[	S5eUR(a:UR[R100[R4;a[	S5egg)Nz
Illegal frame)r�rCr!r�r101rhr��rIr�s  rr\�continuous_frame.validate�sg���"�"�u�|�|�t�7G�7G�'G�,�_�=�=����5�<�<�������4102�$103�-�_�=�=�	$104�rc�T�UR(a"URS==UR-
ss'O\UR[R[R1054;aURUlURUR/UlUR(aSUlgg)Nr)r�rDrCr!rhr�r�r?r�s  r�add�continuous_frame.add�sr���>�>��N�N�1�����+���|�|�� 0� 0�$�2D�2D�E�E�&+�l�l��#�#�l�l�E�J�J�7�D�N��9�9�"&�D��rc�@�UR=(d UR$r)r?r�r�s  r�is_fire�continuous_frame.is_fire�s���y�y�0�D�0�0�0rc�p�URnUc[S5eSUlUSUlUR(dfUbcUS[R106:XaLUR(d;[UR5(d![S[UR535eUc[S5eUSU4$)NzNo continuation data availablerrzcannot decode: )107r�r108rDr�r!rhrLrr	rc)rIr�rDs   r�extract�continuous_frame.extract�s����~�~���<�,�-M�N�N�����!�W��109��$�$�� ��Q��4�+�+�+��-�-�!�%�*�*�-�-�+�o�d�5�:�:�>N�=O�,P�Q�Q��<�,�-M�N�N��A�w��~�r)r�r�r�rL)r�r�r�r�r�rJr!r\r�rrr��tupler�r�rmrrr"r"�sq��2��2�D�2�T�2�>�d�>�t�>�	'��	'�$�	'�1�T�1�e�D�#�I�&6�1��T��e�rr")+r�rFrV�sys�	threadingr�typingrrrr�_exceptionsr	r110�_utilsr�wsaccel.xormaskrrTr�ImportError�	byteorderr�__all__r$r%r&r'r(r)r*r+r,r-r.�STATUS_SERVICE_RESTART�STATUS_TRY_AGAIN_LATERr/r0r_r!r#r"rmrr�<module>r�sL���	�
�111��1�1�N�!��&U�1120��%�+�+��5�;�;��5��"��(�
�����#��"������������"��������!����� ���������
�� DI�DI�N@%�@%�F.�.��W�113U��}�}��U�%�+�+�U�5�;�;�U�5�U�	114U�s�%B'�'1C�C
codekingpro/portable-devtools · Team Ai