403Webshell
Server IP : 54.37.205.81  /  Your IP : 216.73.216.76
Web Server : nginx/1.22.1
System : Linux vps-249481fa 6.1.0-50-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02) x86_64
User : debian ( 1000)
PHP Version : 8.2.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/tornado/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/tornado/test/__pycache__/websocket_test.cpython-311.pyc
�

��b3n��H�ddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
mZddlm
Z
ddlmZmZddlmZddlmZdd	lmZmZmZmZdd
lmZmZ	ddlZddlmZn#e $rej!���wxYwddlm"Z"m#Z#m$Z$m%Z%	dd
lm&Z&n
#e $rdZ&YnwxYwGd�de"��Z'Gd�de'��Z(Gd�de'��Z)Gd�de'��Z*Gd�de'��Z+Gd�de��Z,Gd�de��Z-Gd�de'��Z.Gd�de'��Z/Gd �d!e'��Z0Gd"�d#e'��Z1Gd$�d%e'��Z2Gd&�d'e'��Z3Gd(�d)e'��Z4Gd*�d+e'��Z5Gd,�d-e'��Z6Gd.�d/e'��Z7Gd0�d1e��Z8Gd2�d3e8��Z9Gd4�d5e'��Z:Gd6�d7e8��Z;Gd8�d9e<��Z=Gd:�d;e=��Z>Gd<�d=e>e8��Z?Gd>�d?e>e8��Z@Gd@�dAe>e8��ZAGdB�dCe=e8��ZBGdD�dEe<��ZCGdF�dGeCejD��ZEejFe&dudH��GdI�dJeCejD����ZGGdK�dLe8��ZHGdM�dNe8��ZIGdO�dPe8��ZJGdQ�dRe8��ZKdS)S�N)�Future)�gen)�	HTTPError�HTTPRequest)�Event)�gen_log�app_log��SimpleAsyncHTTPClient)�
DictLoader)�AsyncHTTPTestCase�gen_test�bind_unused_port�	ExpectLog)�Application�RequestHandler��_websocket_mask_python)�WebSocketHandler�websocket_connect�WebSocketError�WebSocketClosedError)�speedupsc�&�eZdZdZdd�Zd�Zd�ZdS)�TestWebSocketHandlerz�Base class for testing handlers that exposes the on_close event.

    This allows for tests to see the close code and reason on the
    server side.

    Nc�"�||_||_dS�N)�close_future�compression_options)�selfrrs   �=/usr/lib/python3/dist-packages/tornado/test/websocket_test.py�
initializezTestWebSocketHandler.initialize1s��(���#6�� � � �c��|jSr�r�r s r!�get_compression_optionsz,TestWebSocketHandler.get_compression_options5s���'�'r#c�d�|j�(|j�|j|jf��dSdSr)r�
set_result�
close_code�close_reasonr&s r!�on_closezTestWebSocketHandler.on_close8s:����(���(�(�$�/�4�;L�)M�N�N�N�N�N�)�(r#)NN)�__name__�
__module__�__qualname__�__doc__r"r'r,�r#r!rr)sU��������7�7�7�7�(�(�(�O�O�O�O�Or#rc�.�eZdZejd���ZdS)�EchoHandlerc#�K�	|�|t|t����V�dS#tj$rYdSt
$rYdSwxYwr)�
write_message�
isinstance�bytes�asyncio�CancelledErrorr�r �messages  r!�
on_messagezEchoHandler.on_message>su����	��$�$�W�j��%�.H�.H�I�I�I�I�I�I�I���%�	�	�	��D�D�#�	�	�	��D�D�	���s�+1�A�	A�AN)r-r.r/r�	coroutiner<r1r#r!r3r3=s/�������]����]���r#r3c��eZdZd�ZdS)�ErrorInOnMessageHandlerc��ddzdS)N�rr1r:s  r!r<z"ErrorInOnMessageHandler.on_messageIs��	�A����r#N�r-r.r/r<r1r#r!r?r?Hs#����������r#r?c��eZdZd�ZdS)�
HeaderHandlerc���tj|jd��tj|jd��tj|jdd��tj|jdd��tj|jd��|j|jg}|D]+}	|��td���#t$rY�(wxYw|�|jj
�dd����dS)	NzThis should not workzhttp://localhost/elsewhere�X-Test��	Chocolate�Chipi�zdid not get expected exception)�	functools�partial�write�redirect�
set_header�
set_cookie�
set_status�flush�finish�	Exception�RuntimeErrorr5�request�headers�get)r �methods_to_test�methods   r!�openzHeaderHandler.openNs�����d�j�*@�A�A���d�m�-I�J�J���d�o�x��<�<���d�o�{�F�C�C���d�o�s�3�3��J��K�
��&�	�	�F�
������� @�A�A�A���
�
�
���
�������4�<�/�3�3�H�b�A�A�B�B�B�B�Bs�B,�,
B9�8B9N�r-r.r/rZr1r#r!rDrDMs(������C�C�C�C�Cr#rDc��eZdZd�Zd�ZdS)�HeaderEchoHandlerc�2�|�dd��dS)N�X-Extra-Response-Header�Extra-Response-Value)rNr&s r!�set_default_headersz%HeaderEchoHandler.set_default_headersds�����1�3I�J�J�J�J�Jr#c���|jj���D]B\}}|����d��r|�||���CdS)Nzx-test)rUrV�get_all�lower�
startswithrN)r �k�vs   r!�preparezHeaderEchoHandler.preparegsc���L�(�0�0�2�2�	&�	&�D�A�q��w�w�y�y�#�#�H�-�-�
&�����1�%�%�%��	&�	&r#N)r-r.r/rarhr1r#r!r]r]cs5������K�K�K�&�&�&�&�&r#r]c��eZdZd�ZdS)�NonWebSocketHandlerc�0�|�d��dS)N�ok)rLr&s r!rWzNonWebSocketHandler.getns���
�
�4�����r#N�r-r.r/rWr1r#r!rjrjms#����������r#rjc��eZdZd�ZdS)�RedirectHandlerc�0�|�d��dS)N�/echo)rMr&s r!rWzRedirectHandler.getss���
�
�g�����r#Nrmr1r#r!rorors#����������r#roc��eZdZd�ZdS)�CloseReasonHandlerc�@�d|_|�dd��dS)NF���goodbye)�on_close_called�closer&s r!rZzCloseReasonHandler.openxs$��$����
�
�4��#�#�#�#�#r#Nr[r1r#r!rsrsw�#������$�$�$�$�$r#rsc�4�eZdZejd���Zd�ZdS)�AsyncPrepareHandlerc#�&K�tjV�dSr)r�momentr&s r!rhzAsyncPrepareHandler.prepare~s�����j�����r#c�0�|�|��dSr�r5r:s  r!r<zAsyncPrepareHandler.on_message�s�����7�#�#�#�#�#r#N)r-r.r/rr=rhr<r1r#r!r{r{}s>�������]����]��$�$�$�$�$r#r{c��eZdZd�ZdS)�PathArgsHandlerc�0�|�|��dSrr)r �args  r!rZzPathArgsHandler.open�s�����3�����r#Nr[r1r#r!r�r���#������ � � � � r#r�c�>��eZdZ�fd�Zejd���Z�xZS)�CoroutineOnMessageHandlerc�H��t��jdi|��d|_dS�Nrr1��superr"�sleeping�r �kwargs�	__class__s  �r!r"z$CoroutineOnMessageHandler.initialize��+��������$�$�V�$�$�$���
�
�
r#c#��K�|jdkr|�d��|xjdz
c_tjd��V�|xjdzc_|�|��dS�Nrz%another coroutine is already sleepingrA�{�G�z�?�r�r5r�sleepr:s  r!r<z$CoroutineOnMessageHandler.on_message�sv�����=�1������F�G�G�G��
�
���
�
��i��o�o�����
�
���
�
����7�#�#�#�#�#r#)r-r.r/r"rr=r<�
__classcell__�r�s@r!r�r��sU������������	�]�$�$��]�$�$�$�$�$r#r�c��eZdZd�ZdS)�RenderMessageHandlerc�Z�|�|�d|�����dS)N�message.html)r;)r5�
render_stringr:s  r!r<zRenderMessageHandler.on_message�s/�����4�-�-�n�g�-�N�N�O�O�O�O�Or#NrBr1r#r!r�r��s(������P�P�P�P�Pr#r�c�*��eZdZ�fd�Zd�Zd�Z�xZS)�SubprotocolHandlerc�H��t��jdi|��d|_dS�NFr1)r�r"�select_subprotocol_calledr�s  �r!r"zSubprotocolHandler.initialize�s.��������$�$�V�$�$�$�).��&�&�&r#c�L�|jrtd���d|_d|vrdSdS)Nzselect_subprotocol called twiceT�	goodproto)r�rS)r �subprotocolss  r!�select_subprotocolz%SubprotocolHandler.select_subprotocol�s9���)�	?��=�>�>�>�)-��&��,�&�&��;��tr#c�l�|jstd���|�d|jz��dS)Nzselect_subprotocol not calledzsubprotocol=%s)r�rSr5�selected_subprotocolr&s r!rZzSubprotocolHandler.open�s?���-�	=��;�<�<�<����+�d�.G�G�H�H�H�H�Hr#)r-r.r/r"r�rZr�r�s@r!r�r��s]�������/�/�/�/�/����I�I�I�I�I�I�Ir#r�c�D��eZdZ�fd�Zejd���Zd�Z�xZS)�OpenCoroutineHandlerc�V��t��jdi|��||_d|_dSr�)r�r"�test�
open_finished)r r�r�r�s   �r!r"zOpenCoroutineHandler.initialize�s5��������$�$�V�$�$�$���	�"����r#c#�K�|jj���V�tjd��V�d|_dS)Nr�T)r��message_sent�waitrr�r�r&s r!rZzOpenCoroutineHandler.open�sG�����i�$�)�)�+�+�+�+�+��i�������!����r#c�\�|jstd���|�d��dS)Nz&on_message called before open finishedrl)r�rSr5r:s  r!r<zOpenCoroutineHandler.on_message�s7���!�	F��D�E�E�E����4� � � � � r#)	r-r.r/r"rr=rZr<r�r�s@r!r�r��sd�������#�#�#�#�#�
	�]�"�"��]�"�
!�!�!�!�!�!�!r#r�c��eZdZd�ZdS)�ErrorInOpenHandlerc� �td���)N�boom)rSr&s r!rZzErrorInOpenHandler.open�s������r#Nr[r1r#r!r�r��r�r#r�c��eZdZd�ZdS)�ErrorInAsyncOpenHandlerc��XK�tjd���d{V��td���)Nrr�)r8r�rSr&s r!rZzErrorInAsyncOpenHandler.open�s6�����m�A��������������r#Nr[r1r#r!r�r��s#������ � � � � r#r�c��eZdZd�ZdS)�NoDelayHandlerc�Z�|�d��|�d��dS)NT�hello)�set_nodelayr5r&s r!rZzNoDelayHandler.open�s0������������7�#�#�#�#�#r#Nr[r1r#r!r�r��ryr#r�c�.�eZdZejd���ZdS)�WebSocketBaseTestCasec+�zK�td|���|fzfi|��V�}tj|���)Nzws://127.0.0.1:%d%s)r�
get_http_portr�Return)r �pathr��wss    r!�
ws_connectz WebSocketBaseTestCase.ws_connect�sU����$�!�T�%7�%7�%9�%9�4�$@�@�
�
�DJ�
�
�
�
���j��n�n�r#N)r-r.r/rr=r�r1r#r!r�r��s/�������]����]���r#r�c����eZdZd�Zd�Z�fd�Zd�Zd�Zd�Ze	d���Z
d�Ze	d	���Ze	d
���Z
e	d���Ze	d���Ze	d
���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Ze	d���Z e	d���Z!e	d���Z"e	d ���Z#e	d!���Z$e	d"���Z%e	d#���Z&e	d$���Z'e	d%���Z(�xZ)S)&�
WebSocketTestc�"�t��|_tdtt	|j���fdt
fdtfdtt	|j���fdtt	|j���fdtt	|j���fdtt	|j���fd	tt	|j���fd
tt	|j���fdtt	|j���fdtt	|j���fd
tt	|j���fdt t	|j|���fdt"fdt$fdt&fgt)ddi�����S)Nrq)r�/non_ws�	/redirectz/headerz/header_echo�
/close_reason�/error_in_on_message�/async_preparez/path_args/(.*)�
/coroutine�/render�/subprotocol�/open_coroutine)rr��/error_in_open�/error_in_async_open�/nodelayr�z<b>{{ message }}</b>)�template_loader)rrrr3�dictrjrorDr]rsr?r{r�r�r�r�r�r�r�r�rr&s r!�get_appzWebSocketTest.get_app�s���"�H�H�����+�t��9J�'K�'K�'K�L��/�0��o�.��M�4�T�=N�+O�+O�+O�P�"�%��d�&7�8�8�8��$�&��d�&7�8�8�8��+�+��d�&7�8�8�8��%�'��d�&7�8�8�8��&�#��d�&7�8�8�8��!�-��d�&7�8�8�8��
�0�$�D�DU�2V�2V�2V�W�"�&��d�&7�8�8�8��&�(��d�&7�d�C�C�C��
"�#5�6�'�)@�A��^�,�a1
�d'��8N�'O�P�P�g4
�4
�4
�4	
r#c��t��Srr
r&s r!�get_http_clientzWebSocketTest.get_http_clients��$�&�&�&r#c���t�����tj���dSr)r��tearDownr�_template_loaders�clear)r r�s �r!r�zWebSocketTest.tearDowns4���
���������(�.�.�0�0�0�0�0r#c�f�|�d��}|�|jd��dS)Nrq���fetch�assertEqual�code�r �responses  r!�test_http_requestzWebSocketTest.test_http_requests1���:�:�g�&�&��������,�,�,�,�,r#c�r�|�ddddd����}|�|jd��dS)Nrq�Upgrade�	WebSocket�13��
Connectionr�zSec-WebSocket-Version�rVr�r�r�s  r!�test_missing_websocket_keyz(WebSocketTest.test_missing_websocket_key$�P���:�:��'�&�)-����
�
��	
������,�,�,�,�,r#c�r�|�ddddd����}|�|jd��dS)Nrqr�r��12r�r�i�r�r�s  r!�test_bad_websocket_versionz(WebSocketTest.test_bad_websocket_version/r�r#c#�K�|�d��V�}|�d��V�|���V�}|�|d��dS)Nrqr��r�r5�read_messager��r r�r�s   r!�test_websocket_genz WebSocketTest.test_websocket_gen:sh�����?�?�7�+�+�
+�
+�����w�'�'�'�'�'����*�*�*�*������7�+�+�+�+�+r#c�
��td����z�j����������}|�d��|��j���������}��|d���j�	�fd���|�
������dS)N�ws://127.0.0.1:%d/echo)�callbackr�c�,������Sr)�stop)�fr s �r!�<lambda>z8WebSocketTest.test_websocket_callbacks.<locals>.<lambda>Js���d�i�i�k�k�r#)rr�r�r��resultr5r�r�r�add_done_callbackrxr�s`  r!�test_websocket_callbacksz&WebSocketTest.test_websocket_callbacksAs�����$�t�'9�'9�';�';�;�d�i�	
�	
�	
�	
��Y�Y�[�[�
�
�
!�
!��
����!�!�!�
����	�"�"�"��9�9�;�;�%�%�'�'������7�+�+�+���+�+�,A�,A�,A�,A�B�B�B�
���
�
�
��	�	�����r#c#�K�|�d��V�}|�dd���|���V�}|�|d��dS)Nrqshello �T��binaryr�r�s   r!�test_binary_messagez!WebSocketTest.test_binary_messageNsg�����?�?�7�+�+�
+�
+��
����t��4�4�4����*�*�*�*������=�1�1�1�1�1r#c#�K�|�d��V�}|�d��|���V�}|�|d��dS�Nrquhello ér�r�s   r!�test_unicode_messagez"WebSocketTest.test_unicode_messageUsb�����?�?�7�+�+�
+�
+��
����)�)�)����*�*�*�*������?�3�3�3�3�3r#c#��K�|�d��V�}|���|�t��5|�d��ddd��dS#1swxYwYdSr)r�rx�assertRaisesrr5�r r�s  r!�)test_error_in_closed_client_write_messagez7WebSocketTest.test_error_in_closed_client_write_message\s������?�?�7�+�+�
+�
+��
���
�
�
�
�
�
�3�
4�
4�	.�	.����_�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�A+�+A/�2A/c#�K�|�d��V�}|�d��|���V�}|�|d��dS)Nr�r�z<b>hello</b>r�r�s   r!�test_render_messagez!WebSocketTest.test_render_messagecsb�����?�?�9�-�-�
-�
-��
����!�!�!����*�*�*�*������>�2�2�2�2�2r#c#�K�|�d��V�}|�d��ttd��5|���V�}ddd��n#1swxYwY|�|d��dS)Nr�r��Uncaught exception)r�r5rr	r��assertIsr�s   r!�test_error_in_on_messagez&WebSocketTest.test_error_in_on_messagejs������?�?�#9�:�:�
:�
:��
����!�!�!�
�w� 4�
5�
5�	/�	/��_�_�.�.�.�.�H�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/��
�
�h��%�%�%�%�%s�A'�'A+�.A+c#��K�|�t��5}|�d��V�ddd��n#1swxYwY|�|jjd��dS)Nz	/notfoundi�)rrr�r��	exceptionr�)r �cms  r!�test_websocket_http_failz&WebSocketTest.test_websocket_http_failrs�����
�
�
�y�
)�
)�	/�R��/�/�+�.�.�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/������*�C�0�0�0�0�0s�A�A�Ac#�K�|�t��5|�d��V�ddd��dS#1swxYwYdS)Nr�)rrr�r&s r!�test_websocket_http_successz)WebSocketTest.test_websocket_http_successxs�����
�
�
�~�
.�
.�	-�	-��/�/�)�,�,�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-��A�A�	Ac#�K�|�t��5|�d��V�ddd��dS#1swxYwYdS)Nr�)rrr�r&s r!�test_websocket_http_redirectz*WebSocketTest.test_websocket_http_redirect}s�����
�
�
�y�
)�
)�	/�	/��/�/�+�.�.�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/rc#�@K�t��\}}|���|�t��5t	t
d��5t
d|zd���V�ddd��n#1swxYwYddd��dS#1swxYwYdS)Nz.*zws://127.0.0.1:%d/i)�connect_timeout)rrxr�IOErrorrrr)r �sock�ports   r!�test_websocket_network_failz)WebSocketTest.test_websocket_network_fail�s*����%�'�'�
��d��
�
����
�
�
�w�
'�
'�	�	��7�D�)�)�
�
�'�(�4�/��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s6�B�A;�/B�;A?	�?B�A?	�B�B�Bc#��K�td|���z��V�}|�d��|�d��|j���dS)Nr�r��world)rr�r5�streamrxr	s  r!�"test_websocket_close_buffered_dataz0WebSocketTest.test_websocket_close_buffered_data�sk����$�%=��@R�@R�@T�@T�%T�U�U�
U�
U��
����!�!�!�
����!�!�!�
�	�������r#c#��K�ttd|���zddi�����V�}|���V�}|�|d��dS)Nzws://127.0.0.1:%d/headerrFr�r�)rrr�r�r�r�s   r!�test_websocket_headersz$WebSocketTest.test_websocket_headers�s�����%��*�T�-?�-?�-A�-A�A�!�7�+�
�
�
�
�
�
�
�����*�*�*�*������7�+�+�+�+�+r#c#�0K�ttd|���zddi�����V�}|�|j�d��d��|�|j�d��d��dS)Nzws://127.0.0.1:%d/header_echozX-Test-Hellor�r�r_r`)rrr�r�rVrWr	s  r!�test_websocket_header_echoz(WebSocketTest.test_websocket_header_echo�s�����
%��/�$�2D�2D�2F�2F�F�'��1�
�
�
�
�
�
�
��	
��������7�7��A�A�A�����J�N�N�4�5�5�7M�	
�	
�	
�	
�	
r#c#�@K�|�d��V�}|���V�}|�|d��|�|jd��|�|jd��|jV�\}}|�|d��dS)Nr�rurv)r�r�rr�r*r+r)r r��msgr��reasons     r!�test_server_close_reasonz&WebSocketTest.test_server_close_reason�s������?�?�?�3�3�
3�
3���O�O�%�%�%�%���
�
�c�4� � � �������-�-�-������)�4�4�4�!�.�.�.���f�	
����t�$�$�$�$�$r#c#��K�|�d��V�}|�dd��|jV�\}}|�|d��|�|d��dS)Nrqrurv)r�rxrr�)r r�r�r*s    r!�test_client_close_reasonz&WebSocketTest.test_client_close_reason�su�����?�?�7�+�+�
+�
+��
����y�!�!�!�!�.�.�.���f�����t�$�$�$������+�+�+�+�+r#c#� K�|�d��V�}|���V�}|�|d��|�t��5|�d��ddd��dS#1swxYwYdS)Nr�r�)r�r�rrrr5)r r�r)s   r!�test_write_after_closez$WebSocketTest.test_write_after_close�s������?�?�?�3�3�
3�
3���O�O�%�%�%�%���
�
�c�4� � � �
�
�
�3�
4�
4�	&�	&����W�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s� B�B�
Bc#�K�|�d��V�}|�d��|���V�}|�|d��dS)Nr�r�r��r r��ress   r!�test_async_preparez WebSocketTest.test_async_prepare�se�����?�?�#3�4�4�
4�
4��
����!�!�!��O�O�%�%�%�%������g�&�&�&�&�&r#c#�K�|�d��V�}|���V�}|�|d��dS)Nz/path_args/hellor��r�r�r�r1s   r!�test_path_argszWebSocketTest.test_path_args�sO�����?�?�#5�6�6�
6�
6���O�O�%�%�%�%������g�&�&�&�&�&r#c#�DK�|�d��V�}|�d��V�|�d��V�|���V�}|�|d��|���V�}|�|d��dS)Nr��hello1�hello2r�r1s   r!�test_coroutinezWebSocketTest.test_coroutine�s������?�?�<�0�0�
0�
0�����x�(�(�(�(�(����x�(�(�(�(�(��O�O�%�%�%�%������h�'�'�'��O�O�%�%�%�%������h�'�'�'�'�'r#c#�K�|���}d|z}dd|zi}tt||�����V�}|�d��|���V�}|�|d��dS)Nr��Originzhttp://127.0.0.1:%dr�r��r�rrr5r�r��r r�urlrVr�r�s      r!�test_check_origin_valid_no_pathz-WebSocketTest.test_check_origin_valid_no_path�s������!�!�#�#��&��-���2�T�9�:��$�[��g�%F�%F�%F�G�G�
G�
G��
����!�!�!����*�*�*�*������7�+�+�+�+�+r#c#�K�|���}d|z}dd|zi}tt||�����V�}|�d��|���V�}|�|d��dS)Nr�r<zhttp://127.0.0.1:%d/somethingr�r�r=r>s      r!�!test_check_origin_valid_with_pathz/WebSocketTest.test_check_origin_valid_with_path�s������!�!�#�#��&��-���<�t�C�D��$�[��g�%F�%F�%F�G�G�
G�
G��
����!�!�!����*�*�*�*������7�+�+�+�+�+r#c#�.K�|���}d|z}dd|zi}|�t��5}tt	||�����V�ddd��n#1swxYwY|�|jjd��dS)Nr�r<z127.0.0.1:%dr���r�rrrrr�rr��r rr?rVrs     r!�%test_check_origin_invalid_partial_urlz3WebSocketTest.test_check_origin_invalid_partial_urls������!�!�#�#��&��-���^�d�2�3��
�
�
�y�
)�
)�	G�R�#�K��W�$E�$E�$E�F�F�F�F�F�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G����	G�	G�	G�	G������*�C�0�0�0�0�0s�!A*�*A.�1A.c#�(K�|���}d|z}ddi}|�t��5}tt	||�����V�ddd��n#1swxYwY|�|jjd��dS)Nr�r<zhttp://somewhereelse.comr�rDrErFs     r!�test_check_origin_invalidz'WebSocketTest.test_check_origin_invalids������!�!�#�#��&��-���7�8��
�
�
�y�
)�
)�	G�R�#�K��W�$E�$E�$E�F�F�F�F�F�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G����	G�	G�	G�	G�	
�����*�C�0�0�0�0�0��!A'�'A+�.A+c#�(K�|���}d|z}ddi}|�t��5}tt	||�����V�ddd��n#1swxYwY|�|jjd��dS)Nzws://localhost:%d/echor<zhttp://subtenant.localhostr�rDrErFs     r!�$test_check_origin_invalid_subdomainsz2WebSocketTest.test_check_origin_invalid_subdomainss������!�!�#�#��&��-���9�:��
�
�
�y�
)�
)�	G�R�#�K��W�$E�$E�$E�F�F�F�F�F�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G����	G�	G�	G�	G�	
�����*�C�0�0�0�0�0rJc#��K�|�dddg���V�}|�|jd��|���V�}|�|d��dS)Nr��badprotor�)r�zsubprotocol=goodproto)r�r�r�r�r1s   r!�test_subprotocolszWebSocketTest.test_subprotocols(s�����?�?��*�k�)B�#�
�
�
�
��	
����0�+�>�>�>��O�O�%�%�%�%������5�6�6�6�6�6r#c#��K�|�d��V�}|�|jd��|���V�}|�|d��dS)Nr�zsubprotocol=None)r�rr�r�r�r1s   r!�test_subprotocols_not_offeredz+WebSocketTest.test_subprotocols_not_offered1sf�����?�?�>�2�2�
2�
2���
�
�b�-�t�4�4�4��O�O�%�%�%�%������0�1�1�1�1�1r#c#�K�t��|_|�d��V�}|�d��V�|j���|���V�}|�|d��dS)Nr�r�rl)rr�r�r5�setr�r�r1s   r!�test_open_coroutinez!WebSocketTest.test_open_coroutine8s�����!�G�G����?�?�#4�5�5�
5�
5�����w�'�'�'�'�'���������O�O�%�%�%�%������d�#�#�#�#�#r#c#��K�ttd��5|�d��V�}|���V�}ddd��n#1swxYwY|�|��dS)Nrr��rr	r�r��assertIsNoner1s   r!�test_error_in_openz WebSocketTest.test_error_in_openAs�����
�w� 4�
5�
5�	*�	*����'7�8�8�8�8�B����)�)�)�)�C�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	
���#�������.A�A�Ac#��K�ttd��5|�d��V�}|���V�}ddd��n#1swxYwY|�|��dS)Nrr�rVr1s   r!�test_error_in_async_openz&WebSocketTest.test_error_in_async_openHs�����
�w� 4�
5�
5�	*�	*����'=�>�>�>�>�B����)�)�)�)�C�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	
���#�����rYc#�K�|�d��V�}|���V�}|�|d��dS)Nr�r�r5r1s   r!�test_nodelayzWebSocketTest.test_nodelayOsN�����?�?�:�.�.�
.�
.���O�O�%�%�%�%������g�&�&�&�&�&r#)*r-r.r/r�r�r�r�r�r�rr�r�rrr
rrrrrrr#r%r'r+r-r/r3r6r:r@rBrGrIrLrOrQrTrXr[r]r�r�s@r!r�r��s��������6
�6
�6
�p'�'�'�1�1�1�1�1�-�-�-�
	-�	-�	-�	-�	-�	-��,�,��X�,�����2�2��X�2��4�4��X�4��.�.��X�.��3�3��X�3��&�&��X�&��1�1��X�1�
�-�-��X�-��/�/��X�/�����X������X���	,�	,��X�	,��

�

��X�

��%�%��X�%��,�,��X�,��&�&��X�&��'�'��X�'��'�'��X�'�
�(�(��X�(��	,�	,��X�	,��	,�	,��X�	,��1�1��X�1��1�1��X�1��1�1��X�1��7�7��X�7��2�2��X�2��$�$��X�$�����X������X���'�'��X�'�'�'�'�'r#r�c�$��eZdZ�fd�Zd�Z�xZS)�NativeCoroutineOnMessageHandlerc�H��t��jdi|��d|_dSr�r�r�s  �r!r"z*NativeCoroutineOnMessageHandler.initializeWr�r#c���K�|jdkr|�d��|xjdz
c_tjd���d{V��|xjdzc_|�|��dSr�r�r:s  r!r<z*NativeCoroutineOnMessageHandler.on_message[s������=�1������F�G�G�G��
�
���
�
��i��o�o���������
�
���
�
����7�#�#�#�#�#r#)r-r.r/r"r<r�r�s@r!r_r_VsG������������$�$�$�$�$�$�$r#r_c�*�eZdZd�Zed���ZdS)�WebSocketNativeCoroutineTestc�0�tdtfg��S)N�/native)rr_r&s r!r�z$WebSocketNativeCoroutineTest.get_appes���Y�(G�H�I�J�J�Jr#c#�DK�|�d��V�}|�d��V�|�d��V�|���V�}|�|d��|���V�}|�|d��dS)Nrer8r9r�r1s   r!�test_native_coroutinez2WebSocketNativeCoroutineTest.test_native_coroutinehs������?�?�9�-�-�
-�
-�����x�(�(�(�(�(����x�(�(�(�(�(��O�O�%�%�%�%������h�'�'�'��O�O�%�%�%�%������h�'�'�'�'�'r#N)r-r.r/r�rrgr1r#r!rcrcdsA������K�K�K��(�(��X�(�(�(r#rcc��eZdZdZd�Zd�Zd�Zdededdfd	�Ze	d
e
jfd���Ze	d
e
jfd���Z
dS)
�CompressionTestMixinzHello world. Testing 123 123c	���Gd�dt��}tdtt|������fd|t|������fg��S)Nc�*�eZdZed���Zd�ZdS)�4CompressionTestMixin.get_app.<locals>.LimitedHandlerc��dS)N�r1r&s r!�max_message_sizezECompressionTestMixin.get_app.<locals>.LimitedHandler.max_message_sizeys���tr#c�d�|�tt|������dSr)r5�str�lenr:s  r!r<z?CompressionTestMixin.get_app.<locals>.LimitedHandler.on_message}s*���"�"�3�s�7�|�|�#4�#4�5�5�5�5�5r#N)r-r.r/�propertyror<r1r#r!�LimitedHandlerrlxs<������
�
�
��X�
�
6�
6�
6�
6�
6r#rtrqr%�/limited)rrr3r��get_server_compression_options)r rts  r!r�zCompressionTestMixin.get_appws���	6�	6�	6�	6�	6�1�	6�	6�	6�����T�-P�-P�-R�-R�S�S�S���"��T�-P�-P�-R�-R�S�S�S��

�

�

�
	
r#c��dSrr1r&s r!rvz3CompressionTestMixin.get_server_compression_options�����tr#c��dSrr1r&s r!�get_client_compression_optionsz3CompressionTestMixin.get_client_compression_options�rxr#�bytes_in�	bytes_out�returnNc��t���r��NotImplementedError�r r{r|s   r!�verify_wire_bytesz&CompressionTestMixin.verify_wire_bytes����!�#�#�#r#r c#�BK�|�d|������V�}td��D]M}|�|j��|���V�}|�||j���N|�|jjt|j��dz��|�|jj
t|j��dz��|�|jj|jj
��dS)Nrqr%�)r�rz�ranger5�MESSAGEr�r��protocol�_message_bytes_outrr�_message_bytes_inr��_wire_bytes_in�_wire_bytes_out�r r��ir�s    r!�test_message_sizesz'CompressionTestMixin.test_message_sizes�s�����?�?���)L�)L�)N�)N�#�
�
�
�
��
�q���	5�	5�A����T�\�*�*�*��_�_�.�.�.�.�H����X�t�|�4�4�4�4������7��T�\�9J�9J�Q�9N�O�O�O������6��D�L�8I�8I�A�8M�N�N�N����r�{�9�2�;�;V�W�W�W�W�Wr#c#�bK�|�d|������V�}|�d��|���V�}|�|d��|�d��|���V�}|�|��dS)Nrur%ڀaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�128�aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)r�rzr5r�r�rWr�s   r!�test_size_limitz$CompressionTestMixin.test_size_limit�s������?�?��D�,O�,O�,Q�,Q�#�
�
�
�
��	����#�#�#����*�*�*�*������5�)�)�)�	����$�$�$����*�*�*�*�����(�#�#�#�#�#r#)r-r.r/r�r�rvrz�intr�r�typing�Anyr�r�r1r#r!ririts�������,�G�
�
�
�0������$�#�$�#�$�$�$�$�$�$��X���X�X�X��X�X��$�f�j�$�$�$��X�$�$�$r#ric�(�eZdZdZdejfd�ZdS)�UncompressedTestMixinzESpecialization of CompressionTestMixin when we expect no compression.r c��|�|dt|j��dzz��|�|dt|j��dzz��dS)Nr���)r�rrr�r�s   r!r�z'UncompressedTestMixin.verify_wire_bytes�s\������A��T�\�):�):�Q�)>�$?�@�@�@�����1��D�L�(9�(9�A�(=�#>�?�?�?�?�?r#N)r-r.r/r0r�r�r�r1r#r!r�r��s>������O�O�@��
�@�@�@�@�@�@r#r�c��eZdZdS)�NoCompressionTestN)r-r.r/r1r#r!r�r��s�������Dr#r�c��eZdZd�ZdS)�ServerOnlyCompressionTestc��iSrr1r&s r!rvz8ServerOnlyCompressionTest.get_server_compression_options�����	r#N)r-r.r/rvr1r#r!r�r���#����������r#r�c��eZdZd�ZdS)�ClientOnlyCompressionTestc��iSrr1r&s r!rzz8ClientOnlyCompressionTest.get_client_compression_options�r�r#N)r-r.r/rzr1r#r!r�r��r�r#r�c� �eZdZd�Zd�Zd�ZdS)�DefaultCompressionTestc��iSrr1r&s r!rvz5DefaultCompressionTest.get_server_compression_options�r�r#c��iSrr1r&s r!rzz5DefaultCompressionTest.get_client_compression_options�r�r#c���|�|dt|j��dzz��|�|dt|j��dzz��|�||dz��dS)Nr�r�r��)�
assertLessrrr�r�r�s   r!r�z(DefaultCompressionTest.verify_wire_bytes�sr�����	�1��D�L�(9�(9�A�(=�#>�?�?�?�����!�s�4�<�'8�'8�1�'<�"=�>�>�>�����H�r�M�2�2�2�2�2r#N)r-r.r/rvrzr�r1r#r!r�r��sA������������3�3�3�3�3r#r�c�8�eZdZdededefd�Zdejfd�ZdS)�MaskFunctionMixin�mask�datar}c��t���rr�r r�r�s   r!r�zMaskFunctionMixin.mask�r�r#r c��|�|�dd��d��|�|�dd��d��|�|�dd��d��|�|�dd��d	��|�|�d
d��d��|�|�d
d��d��dS)Nsabcdr#�b�s54321sTVPVPsZXCVs98765432sc`t`olpdss������s������s����ss������)r�r�r&s r!�	test_maskzMaskFunctionMixin.test_mask�s���������7�C�0�0�#�6�6�6�������7�D�1�1�7�;�;�;�������7�H�5�5�x�@�@�@�������7�K�8�8�+�F�F�F�	
����I�I�)�+F�G�G�'�	
�	
�	
�	
����I�I�)�+F�G�G�'�	
�	
�	
�	
�	
r#N)r-r.r/r7r�r�r�r�r1r#r!r�r��sZ������$��$�e�$��$�$�$�$�
��
�
�
�
�
�
�
r#r�c��eZdZd�ZdS)�PythonMaskFunctionTestc�"�t||��Srrr�s   r!r�zPythonMaskFunctionTest.mask�s��%�d�D�1�1�1r#N�r-r.r/r�r1r#r!r�r��s#������2�2�2�2�2r#r�z#tornado.speedups module not presentc��eZdZd�ZdS)�CythonMaskFunctionTestc�,�tj||��Sr)r�websocket_maskr�s   r!r�zCythonMaskFunctionTest.mask�s���&�t�T�2�2�2r#Nr�r1r#r!r�r��s#������3�3�3�3�3r#r�c�*�eZdZd�Zed���ZdS)�ServerPeriodicPingTestc�P�Gd�dt��}td|fgd���S)Nc��eZdZd�ZdS)�3ServerPeriodicPingTest.get_app.<locals>.PingHandlerc�0�|�d��dS)N�got pongr�r r�s  r!�on_pongz;ServerPeriodicPingTest.get_app.<locals>.PingHandler.on_pong����"�"�:�.�.�.�.�.r#N)r-r.r/r�r1r#r!�PingHandlerr��#������
/�
/�
/�
/�
/r#r��/r�)�websocket_ping_interval�rr�r r�s  r!r�zServerPeriodicPingTest.get_appsJ��	/�	/�	/�	/�	/�.�	/�	/�	/��S�+�.�/��N�N�N�Nr#c#�K�|�d��V�}td��D].}|���V�}|�|d���/dS)Nr�r�r��r�r�r�r�r�s    r!�test_server_pingz'ServerPeriodicPingTest.test_server_pingsj�����?�?�3�'�'�
'�
'���q���	3�	3�A��_�_�.�.�.�.�H����X�z�2�2�2�2�	3�	3r#N)r-r.r/r�rr�r1r#r!r�r��sA������O�O�O��3�3��X�3�3�3r#r�c�*�eZdZd�Zed���ZdS)�ClientPeriodicPingTestc�L�Gd�dt��}td|fg��S)Nc��eZdZd�ZdS)�3ClientPeriodicPingTest.get_app.<locals>.PingHandlerc�0�|�d��dS)N�got pingrr�s  r!�on_pingz;ClientPeriodicPingTest.get_app.<locals>.PingHandler.on_pingr�r#N�r-r.r/r�r1r#r!r�r�r�r#r�r�r�r�s  r!r�zClientPeriodicPingTest.get_appsE��	/�	/�	/�	/�	/�.�	/�	/�	/��S�+�.�/�0�0�0r#c#�K�|�dd���V�}td��D].}|���V�}|�|d���/dS)Nr�r�)�
ping_intervalr�r�r�r�s    r!�test_client_pingz'ClientPeriodicPingTest.test_client_pingsn�����?�?�3�d�?�;�;�
;�
;���q���	3�	3�A��_�_�.�.�.�.�H����X�z�2�2�2�2�	3�	3r#N)r-r.r/r�rr�r1r#r!r�r�s>������1�1�1��3�3��X�3�3�3r#r�c�*�eZdZd�Zed���ZdS)�ManualPingTestc�L�Gd�dt��}td|fg��S)Nc��eZdZd�ZdS)�+ManualPingTest.get_app.<locals>.PingHandlerc�Z�|�|t|t�����dS)Nr)r5r6r7r�s  r!r�z3ManualPingTest.get_app.<locals>.PingHandler.on_ping$s+���"�"�4�
�4��0G�0G�"�H�H�H�H�Hr#Nr�r1r#r!r�r�#s(������
I�
I�
I�
I�
Ir#r�r�r�r�s  r!r�zManualPingTest.get_app"sM��	I�	I�	I�	I�	I�.�	I�	I�	I��S�+�.�/�0�0�0r#c#�~K�|�d��V�}|�t|jd��|�d��|���V�}|�|d��|�d��|���V�}|�|d��dS)Nr��~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar�shellosbinary hello)r�r�
ValueError�pingr�r�)r r��resps   r!�test_manual_pingzManualPingTest.test_manual_ping)s������?�?�3�'�'�
'�
'�����*�b�g�y�9�9�9�
��������_�_�&�&�&�&������x�(�(�(�
���� � � ��_�_�&�&�&�&�������/�/�/�/�/r#N)r-r.r/r�rr�r1r#r!r�r�!s>������1�1�1��0�0��X�0�0�0r#r�c�*�eZdZd�Zed���ZdS)�MaxMessageSizeTestc�4�tdtfgd���S)Nr�rn)�websocket_max_message_size)rr3r&s r!r�zMaxMessageSizeTest.get_app:s���S�+�.�/�D�Q�Q�Q�Qr#c#�K�|�d��V�}d}|�|��|���V�}|�||��|�|dz��|���V�}|�|d��|�|jd��|�|jd��dS)Nr��aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�bi�zmessage too big)r�r5r�r�rr*r+)r r�r)r�s    r!�test_large_messagez%MaxMessageSizeTest.test_large_message=s������?�?�3�'�'�
'�
'����
��������_�_�&�&�&�&������s�#�#�#�	����s��#�#�#��_�_�&�&�&�&���
�
�d�D�!�!�!�������-�-�-������*;�<�<�<�<�<r#N)r-r.r/r�rr�r1r#r!r�r�9sA������R�R�R��=�=��X�=�=�=r#r�)Lr8rJ�	tracebackr��unittest�tornado.concurrentr�tornador�tornado.httpclientrr�
tornado.locksr�tornado.logrr	�tornado.simple_httpclientr�tornado.templater�tornado.testingr
rrr�tornado.webrr�tornado.websocket�tornado.utilr�ImportError�	print_excrrrrrrr3r?rDr]rjrorsr{r�r�r�r�r�r�r�r�r�r�r_rc�objectrir�r�r�r�r�r��TestCaser��skipIfr�r�r�r�r�r1r#r!�<module>rs���������������
�
�
�
�����%�%�%�%�%�%�������5�5�5�5�5�5�5�5�������(�(�(�(�(�(�(�(�;�;�;�;�;�;�'�'�'�'�'�'�T�T�T�T�T�T�T�T�T�T�T�T�3�3�3�3�3�3�3�3�	
�����3�3�3�3�3�3�3���
�
�
�
�I�����	�

����������������� � � � � � � �������H�H�H�����O�O�O�O�O�+�O�O�O�(�����&���������2����
C�C�C�C�C�(�C�C�C�,&�&�&�&�&�,�&�&�&������.����
�����n����
$�$�$�$�$�-�$�$�$�$�$�$�$�$�.�$�$�$� � � � � �*� � � �
$�$�$�$�$� 4�$�$�$�P�P�P�P�P�/�P�P�P�
I�I�I�I�I�-�I�I�I�&!�!�!�!�!�/�!�!�!�$ � � � � �-� � � �
 � � � � �2� � � �$�$�$�$�$�)�$�$�$������-����u'�u'�u'�u'�u'�)�u'�u'�u'�p$�$�$�$�$�&:�$�$�$�
(�
(�
(�
(�
(�#8�
(�
(�
(� @$�@$�@$�@$�@$�6�@$�@$�@$�F@�@�@�@�@�0�@�@�@�	�	�	�	�	�-�/D�	�	�	�
����� 5�7L����
����� 5�7L����
3�3�3�3�3�1�3H�3�3�3�
�
�
�
�
��
�
�
�.2�2�2�2�2�.��0A�2�2�2�
����T�!�#H�I�I�3�3�3�3�3�.��0A�3�3�J�I�3�

3�
3�
3�
3�
3�2�
3�
3�
3�"
3�
3�
3�
3�
3�2�
3�
3�
3�"0�0�0�0�0�*�0�0�0�0=�=�=�=�=�.�=�=�=�=�=s�
A#�#A9�	B�B�B

Youez - 2016 - github.com/yon3zu
LinuXploit