Team Ai
Datasetpublic

codekingpro/portable-devtools

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

2q�j�����SrSSKrSSKrSSKrSSKJr SSKJr SSK	J3r4 SSKJrJ
r
 SSKJr SS	KJrJr SS5KJr /SQrSr\R.\R0\R2\R4\R64r\\R:4-r\6"5r"S
S5r S\!S\!S\"S\!S\ 47Sjr#S\!S\!4Sjr$S\!S\!S\!S\"S\%S\&4Sjr'\4S\&S\&4Sjjr(SSS.r)S\!S\&4Sjr*S\!4S jr+g)!ad8_handshake.py9websocket - WebSocket client library for Python10 11Copyright 2025 engn33r12 13Licensed under the Apache License, Version 2.0 (the "License");14you may not use this file except in compliance with the License.15You may obtain a copy of the License at16 17    http://www.apache.org/licenses/LICENSE-2.018 19Unless required by applicable law or agreed to in writing, software20distributed under the License is distributed on an "AS IS" BASIS,21WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.22See the License for the specific language governing permissions and23limitations under the License.24�N)�encodebytes)�25HTTPStatus�)�SimpleCookieJar)�WebSocketException�WebSocketBadStatusException)�read_headers)�dump�error)�send)�handshake_response�	handshake�SUPPORTED_REDIRECT_STATUSES�
c�&�\rSrSrS\S\4SjrSrg)r
�1�status�headersc�p�XlX lX0l[R	URS55 g)Nz26set-cookie)rr�subprotocol�	CookieJar�add�get)�selfrrrs    �ZD:\code\apps\devtools\python\user_packages\Python313\site-packages\websocket/_handshake.py�__init__�handshake_response.__init__2s'������&���
�
�g�k�k�,�/�0�)rrrN)�__name__�27__module__�__qualname__�__firstlineno__�int�dictr�__static_attributes__�rrr
r
1s��1�s�1�T�1rr
�url�hostname�port�resource�returnc�,�[XAX#U5upgSRU5n[X5 [SU5 [	U5up�U	[28;a[
X�S5$[X�URS55up�U(d[S5e[
X�U5$)Nz
29zrequest header�subprotocolszInvalid WebSocket Header)30�_get_handshake_headers�joinrr31�_get_resp_headersrr
�	_validaterr)
�sockr'r(r)r*�optionsr�key�32header_strr�resp�success�subprotos
             rrr9s���*�(���Q�L�G����W�%�J�����	�:�&�$�T�*�L�F�
�,�,�!�&��5�5�!�$�W�[�[��-H�I��G�� �!;�<�<��f�H�5�5rc��SU;aSUS3$U$)N�:�[�]r&)r(s r�_pack_hostnamer=Ls��33�h���8�*�A����Or�hostr3c��SUS3S/nUS;a[U5nO[U5SU3nURS5(aURSUS35 OURSU35 URSS5upqURS	5(dSS34U;aUS35bURSUS3635 O/US:XaURS
U35 OURSU35 [	5nURS5(a	SUS;aURSU35 OUSSnURS5(a	SUS;aURS[3735 URS5(dURS5 OURUS5 URS5=n	(a#URSSR
U	535 URS5=n38(a_[U39[5(a9U40R5VVs/sHup�UcM41SR
X�/5PM n42nnURU435 [RU5n
URSS5nSR
[SX�/55=n(aURSU35 URS5 XX4$s snnf)NzGET z	 HTTP/1.1zUpgrade: websocket)�Pi�r:r>zHost: r�suppress_origin�originzOrigin: �wsszOrigin: https://zOrigin: http://�headerzSec-WebSocket-KeyzSec-WebSocket-Key: zSec-WebSocket-VersionzSec-WebSocket-Version: �44connectionzConnection: Upgrader-zSec-WebSocket-Protocol: �,z: �cookiez; zCookie: )�rH)
r=r�append�split�_create_sec_websocket_key�VERSIONr/�45isinstancer$�items�extendr�filter)r*r'r>r)r3r�hostport�schemer4r-rD�k�v�
server_cookie�
client_cookierGs                rr.r.Ss����h�Z�y�)�+?�@�G��y��!�$�'��$�T�*�+�1�T�F�3���{�{�6����������0�1�2������z�*�+��)�)�C��#�K�F��;�;�(�)�)��w��7�8�#4�#@��N�N�X�g�h�&7�%8�9�:�
�u�_��N�N�-�h�Z�8�9��N�N�_�X�J�7�8�46#�47%�C��;�;�x� � �$7�w�x�?P�$P����,�S�E�2�3��h�� 3�4���;�;�x� � �$;�7�8�CT�$T����0��	�:�;��;�;�|�$�$����,�-����w�|�,�-��{�{�>�2�2�|�2����1�#�(�(�<�2H�1I�J�K����X�&�&�v�&��f�d�#�#�4:�L�L�N�T�N�D�A�a�'�d�i�i���'�N�F�T����v���M�M�$�'�M��K�K��$�/�M����6�$��(F�G�H�H�v�H�����&��*�+��N�N�8���<���Us�	K�+K�success_statusesc48�(�[U5up#nX!;a}URS5nU(aHSSKJn Sn[	U5nUS:�a.[US5n	U"X	5n49Xz-
nU[
U505-nUS:�aM.OSn[SUSUS	US	U3UUUU5eX#4$)51Nzcontent-lengthr)�recvrri@zHandshake status � z -+-+- )r	r�_socketrYr#�min�lenr)r2rWr�resp_headers�status_message�content_lenrY�
response_body�	remaining�52chunk_size�chunks           rr0r0�s���+7��+=�(�F�.�
�%�"�&�&�'7�8���%��M��K�(�I��a�-� ��E�2�53��T�.���&�
��S��Z�'�	�	�a�-��!�M�)���x�q��(8���~�W�Ub�Tc�d�����54�	55���r�	websocket�upgrade)rfrEr4c��Sn[R5HcupEURUS5nU(d gURS5Vs/sH owR	5R5PM" nnXV;dMc g U(ajURSS5nU(a2UR5UVs/sHo�R5PM sn;a[
SU35 gUR5nURSS5n	U	(dgU	R5n	[U	[5(aU	RS5n	US3RS5n56[[R"U575R55R	5R5n[R"X�5(aSU4$gs snfs snf)	N)FNrFzsec-websocket-protocolzInvalid subprotocol: zsec-websocket-accept�utf-8z$258EAFA5-E914-47DA-95CA-C5AB0DC85B11T)�_HEADERS_TO_CHECKrNrrJ�strip�lowerrrM�str�encode�base64encode�hashlib�sha1�digest�hmac�compare_digest)rr4r-r8rSrT�r�x�s�result�value�hasheds            rr1r1�sf���H�!�'�'�)����K�K��4� ����()�����5��1�W�W�Y�_�_�
���5��:��
*���;�;�7��>���8�>�>�+�|�3T�|�!�G�G�I�|�3T�T��)�,��8�9���>�>�#��
�[�[�/��
6�F���
�\�\�^�F��&�#������w�'���e�7�8�?�?��H�E�
�'�,�,�u�-�4�4�6�
7�
=�
=�
?�
E�
E�
G�F����6�*�*��X�~����3
6��4Us�58'F<�1Gc�~�[R"S5n[U5RS5R	5$)N�rh)�os�urandomrn�decoderj)�59randomnesss rrKrK�s.�����B��J��60�#�*�*�7�3�9�9�;�;r),�__doc__rorrr|�base64rrn�httpr�61_cookiejarr�_exceptionsrr�_httpr	�_loggingr62rr[r�__all__rL�MOVED_PERMANENTLY�FOUND�	SEE_OTHER�TEMPORARY_REDIRECT�PERMANENT_REDIRECTr�SWITCHING_PROTOCOLS�SUCCESS_STATUSESrr
rlr#rr=r$�tupler.r0rir1rKr&rr�<module>r�sT���&��	�.��'�H��!��63L��
��� � ��������!�!��!�!���/�*�2P�2P�1R�R����	�1�1�6��6�!�6�),�6�8;�6��6�&�S��S��7��7��7�#&�7�.1�7�<@�7�64�7�t7G� �e� �5� �8�����C��%��D<�3�<r
codekingpro/portable-devtools · Team Ai