403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/support/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/support/__pycache__/asynchat.cpython-315.pyc
R
>lqj�.c�h�Qs]QHGs]QHGsQQ\O
2sQQ2sQsP!)a�A class supporting chat-style (command/response) protocols.

This class adds support for 'chat' style protocols - where one side
sends a 'command', and the other sends a response (examples would be
the common internet protocols - smtp, nntp, ftp, etc..).

The handle_read() method looks at the input stream for the current
'terminator' (usually '\r\n' for single-line responses, '\r\n.\r\n'
for multi-line output), calling self.found_terminator() on its
receipt.

for example:
Say you build an async nntp client using this class.  At the start
of the connection, you'll have self.terminator set to '\r\n', in
order to process the single-line greeting.  Just before issuing a
'LIST' command you'll set it to '\r\n.\r\n'.  The output of the LIST
command will be accumulated (using your own 'collect_incoming_data'
method) up to the terminator, and then control will be returned to
you - by calling your self.found_terminator() method.
)�deque)�asyncorec�`�\sQs];snQsQsQs]sQsQQks	Qs
QsQsQs
Q	sQ
sQsQsQ
sQsQsQsQsQsQsQsQsUsP!)�
async_chatz�This is an abstract class.  You must derive from this class, and add
the two methods collect_incoming_data() and found_terminator()izlatin-1c��QUm,Um[2Um[O
O
VU2P!)�)�ac_in_buffer�incomingr�
producer_fifor�
dispatcher�__init__)�self�sock�maps&&&�*C:\Python315\\Lib\test\support\asynchat.pyr�async_chat.__init__Js5�����
��
�#�W������$�$�T��5rc��[Q2g�zmust be implemented in subclass��NotImplementedError�r�datas&&r�collect_incoming_data� async_chat.collect_incoming_dataX���!�"C�D�Drc�>�UOOU2P!�N)r�appendrs&&r�_collect_incoming_data�!async_chat._collect_incoming_data[s���
�
���T�"rc�X�QOUO2oUOQU!�r:NNN)�joinr)r�ds& r�	_get_data�async_chat._get_data^s%���H�H�T�]�]�#���M�M�!���rc��[Q2grr�rs&r�found_terminator�async_chat.found_terminatorcrrc���[U[2%c)UO%c[VO2oL([U[
2%cU]6c[
Q2gVmP!)zTSet the input delimiter.

Can be a fixed string of any length, an integer, or None.
z-the number of received bytes must be positive)�
isinstance�str�use_encoding�bytes�encoding�int�
ValueError�
terminator)r�terms&&r�set_terminator�async_chat.set_terminatorfsN��
�d�C� � �T�%6�%6�%6���}�}�-�D�
��c�
"�
"�t�a�x��L�M�M��rc��UO!r)r1r&s&r�get_terminator�async_chat.get_terminatorqs�����rc�b�UOUO2o[U[2%c-UO%c[[UO2oUOU*Um
UO%Cc�[UO2oUO2oU%f%UOUO2QUm
Jd[U[2%c�SoV$6c=UOUO2QUm
UOU*
UmJ�UOUOPU2UOUPUm
]UmUO!2CJ
[U2oUOO#U2oUP6wcSU]6�cUOUOPU2UOVe*PUm
UO!2CJ�[%UOU2oU%c=Vb6wc5UOUOPU'2UOU'PUm
P!UOUO2QUm
CJP![cP![cSO	2P!h9h�Nr)�recv�ac_in_buffer_size�BlockingIOError�OSError�handle_errorr*r+r,r-r.r�lenr6rr/r1r'�find�find_prefix_at_end)rr�lbr1�n�terminator_len�indexs&      r�handle_read�async_chat.handle_readys>��	��9�9�T�3�3�4�D��d�C� � �T�%6�%6�%6���d�m�m�,�D� �-�-��4��������T�&�&�'�B��,�,�.�J���*�*�4�+<�+<�=�$'��!��J��,�,����6��.�.�t�/@�/@�A�(+�D�%�&*�o�o��&:�D�O��.�.�t�/@�/@��!�/D�E�(,�(9�(9�!�"�(=�D�%�&'�D�O��)�)�+�"%�Z����)�)�.�.�z�:���B�;��q�y��2�2�4�3D�3D�V�e�3L�M�(,�(9�(9�%�:N�:O�(P�D�%��)�)�+�/�t�/@�/@�*�M�E�� �;� �6�6�t�7H�7H��5�&�7Q�R�04�0A�0A�5�&�'�0J�D�-���2�2�4�3D�3D�E�,/��)�g ���	���	������	�s#�J�	J.�J.�J.�J.�-J.c�(�UO2P!r)�
initiate_sendr&s&r�handle_write�async_chat.handle_write�s�����rc�(�UO2P!r)�closer&s&r�handle_close�async_chat.handle_close�s���
�
�rc��[U[[[12%f[	Q[U22gUOo[U2U6�cC[][U2U2FD&oUOOVV2*2J(	LUOOU2UO2P!)z#data argument must be byte-ish (%r))r*r-�	bytearray�
memoryview�	TypeError�type�ac_out_buffer_sizer?�ranger	rrI)rr�sabs�is&&  r�push�async_chat.push�s����$��	�:� >�?�?��A� ��J�(�
(��&�&���t�9�t���1�c�$�i��.���"�"�)�)�$���.�9�/�
���%�%�d�+����rc�^�UOOU2UO2P!r)r	rrI)r�producers&&r�push_with_producer�async_chat.push_with_producer�s"�����!�!�(�+����rc��]!)z4predicate for inclusion in the readable for select()�r&s&r�readable�async_chat.readable�s��rc�N�UO9%fUO%(!)z4predicate for inclusion in the writable for select())r	�	connectedr&s&r�writable�async_chat.writable�s���!�!�9�9�$�.�.�&8�9rc�>�UOOP2P!)zAautomatically close this channel once the outgoing queue is empty)r	rr&s&r�close_when_done�async_chat.close_when_done�s�����!�!�$�'rc��UO%c�UO%c�UO]*oU%f$UO]UeUO2P!UOoUPUo[U[2%c(UO%c[V0O2oUOU2oU%cAU[U26fU[U26cVPUO]$P!UO]P!P!P![cGSO2oS%cSOO
S2L
SO]CJah9h[cSO2P!h9h)�)r	rdrNrUrS�more�
appendleftr*r+r,r-r.�sendr=r>r?)r�first�obsr�num_sents&    rrI�async_chat.initiate_send�sW��� � � �T�^�^�^��&�&�q�)�E���&�&�q�)��=��%�%�'���)�)�C�
��T�c�{���$��$�$��):�):�):��T�=�=�1��
��9�9�T�?��
��c�$�i�'�3��U��+;�,1�)�,<�D�&�&�q�)�
��*�*�1�-��K&4� ���
��z�z�|����&�&�1�1�$�7��*�*�1�-��

���
��!�!�#��
�s6�1D�4E'�	E$�E$�6)E$�#E$�'	F�1F�Fc�d�QUmUOQUOO2P!r )rrr	�clearr&s&r�discard_buffers�async_chat.discard_bufferss(������M�M�!����� � �"r)rrr	r1)NN)�__name__�
__module__�__qualname__�__firstlineno__�__doc__r;rUr,r.rrrr#r'r3r6rFrJrNrYr]rarerhrIru�__static_attributes__�__classdictcell__��
__classdict__s@rrr;s�����F�
����
�L��H�6�E�#��
E�	��F0�P��
���:�(�&�P#�#rrc�2`�\sQsQsnQQksQsQsUsP!)�simple_producer�c� �VmV mP!r)r�buffer_size)rrr�s&&&rr�simple_producer.__init__s
���	�&�rc���[UO2UO6�c:UOPUOoUOUOPUmU!UOoQUmU!r9)r?rr�)r�results& rrl�simple_producer.moresb���t�y�y�>�D�,�,�,��Y�Y�0�� 0� 0�1�F��	�	�$�"2�"2�"3�4�D�I��M��Y�Y�F��D�I��Mr)r�r)�)rwrxryrzrrlr|r}r~s@rr�r�s����'��rr�c��[U2]*
oU%c&UOUPU2%fU]*oJ-U!)�)r?�endswith)�haystack�needle�ls&& rrArA6s6���F��a��A�
�H�%�%�f�R�a�j�1�1�	�Q����Hr)	r{�collectionsr�test.supportrr
rr�rAr`rr�<module>r�s8��B�*�!�X#��$�$�X#�v��@
r

Youez - 2016 - github.com/yon3zu
LinuXploit