Team Ai
Datasetpublic

codekingpro/portable-devtools

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

2��j0����SrSSKrSSKrSSKrSSKrSSKJrJrJr SSK	J3r4Jr SSKJ
r
 SSKJr SSKJr SSKJrJr SS	KJr SS5KJrJrJrJrJrJrJr \R:"S5r"SS
\5r "SS5r!"SS5r""SS\RF5r$"SS\RJ5r&"SS5r'\R:"S5r(\R:"S5r)S\*S\+4Sjr,S\*S\+4Sjr-S\R\S\/4Sjr0g) zFClient and server implementations of HTTP/1.x.6 7.. versionadded:: 4.08�N)�Future�future_add_done_callback�"future_set_result_unless_cancelled)�9native_str�utf8)�gen)�httputil)�iostream)�gen_log�app_log)�GzipDecompressor)�cast�Optional�Type�	Awaitable�Callable�Union�Tuples
|10c��\rSrSrSSjrSrg)�_QuietException�,Nc��g�N���selfs �]D:\code\apps\devtools\python\user_packages\Python313\site-packages\tornado/http1connection.py�__init__�_QuietException.__init__-����r��returnN)�__name__�11__module__�__qualname__�__firstlineno__r�__static_attributes__rr!rrr,s��
r!rc�|�\rSrSrSrS\RSS4SjrSSjrSS	S12\	\13S\RSS4Sjr
S
rg)�_ExceptionLoggingContext�1z�Used with the ``with`` statement when calling delegate methods to14log any exceptions with the given logger.  Any exceptions caught are15converted to _QuietException16�loggerr#Nc��Xlgr�r,)rr,s  rr�!_ExceptionLoggingContext.__init__7s���r!c��grrrs r�	__enter__�"_ExceptionLoggingContext.__enter__:r r!�typzOptional[Type[BaseException]]�value�tbc��UbGUce[U[R5(agURR	SXU4S9 [17eg)N�Uncaught exception��exc_info)�18isinstancer	�HTTPInputErrorr,�errorr)rr3r4r5s    r�__exit__�!_ExceptionLoggingContext.__exit__=sR�����?�"�?��%��!8�!8�9�9���K�K���2�c�"�=M��N�!�!�
r!r.r")r$r%r&r'�__doc__�logging�Loggerrr1r�
BaseException�types�
TracebackTyper=r(rr!rr*r*1sY���19�w�~�~��$��
�"�
,�"��
�&�"�
���	"�2021�"r!r*c�r�\rSrSrSrSS\S\\S\\S\\S\\S	\\S22\SS4Sjjr	S
r23g)�HTTP1ConnectionParameters�Lz?Parameters for `.HTTP1Connection` and `.HTTP1ServerConnection`.N�
no_keep_alive�24chunk_size�max_header_size�header_timeout�
max_body_size�body_timeout�25decompressr#c��XlU=(d SUlU=(d SUlX@lXPlX`lXplg)a�26:arg bool no_keep_alive: If true, always close the connection after27    one request.28:arg int chunk_size: how much data to read into memory at once29:arg int max_header_size:  maximum amount of data for HTTP headers30:arg float header_timeout: how long to wait for all headers (seconds)31:arg int max_body_size: maximum amount of data for body32:arg float body_timeout: how long to wait while reading body (seconds)33:arg bool decompress: if true, decode incoming34    ``Content-Encoding: gzip``35iN)rHrIrJrKrLrMrN)rrHrIrJrKrLrMrNs        rr�"HTTP1ConnectionParameters.__init__Os:��*+��$�-����.�7�%���,��*��(��$�r!)rMrIrNrKrLrJrH)FNNNNNF)r$r%r&r'r?�boolr�int�floatrr(rr!rrFrFLs���I�$�$(�)-�*.�'+�(,� �%��%��S�M�%�"�#��	%�36!���%� ��}�
%��u�o�%��%�37�%�%r!rFc��\rSrSrSrS+S\RS\S\\	S\\38SS439S	jjrS40\RS\\4SjrS41\RS\4SjrS,S
jrS\\/S4SS4SjrS,SjrS,SjrS\R4SjrS\SS4SjrS\SS4SjrS-S\\R8\R:4S\R<S\\SS4Sjjr S\S\4Sjr!S\SS4Sjr"S,Sjr#S.Sjr$S\R8S\R<S\4S jr%S/S!jr&S"\S\'\(\R<44S#jr)S$\S\R<S42\RS\\S4S%jr*S&\S43\RSS4S'jr+S44\RSS4S(jr,S45\RSS4S)jr-S*r.g)0�HTTP1Connection�mzyImplements the HTTP/1.x protocol.46 47This class can be on its own for clients, or via `HTTP1ServerConnection`48for servers.49N�stream�	is_client�params�contextr#c���X lXlUc50[5nX0lX@lUR51UlURRbURROURRUlURRUl52SUlSUl[5UlSUlUR!5 SUlSUlSUlSUlSUlSUlg)z�53:arg stream: an `.IOStream`54:arg bool is_client: client or server55:arg params: a `.HTTP1ConnectionParameters` instance or ``None``56:arg context: an opaque application-defined object that can be accessed57    as ``connection.context``.58NF)rXrWrFrYrZrHrL�max_buffer_size�_max_body_sizerM�
_body_timeout�_write_finished�_read_finishedr�_finish_future�_disconnect_on_finish�_clear_callbacks�_request_start_line�_response_start_line�_request_headers�_chunking_output�_expected_content_remaining�_pending_write)rrWrXrYrZs     rr�HTTP1Connection.__init__ts���#�����>�.�0�F�����#�1�1���59�{�{�(�(�4�
�K�K�%�%����,�,�	
��60"�[�[�5�5��� %���#���%�h���&+��"�����$(�� �$(��!� $��� %���,0��(�"��r!�delegatec��URR(a[XRR5nUR	U5$)aJRead a single HTTP response.61 62Typical client-mode usage is to write a request using `write_headers`,63`write`, and `finish`, and then call ``read_response``.64 65:arg delegate: a `.HTTPMessageDelegate`66 67Returns a `.Future` that resolves to a bool after the full response has68been read. The result is true if the stream is still open.69)rYrN�_GzipMessageDelegaterI�
_read_message)rrks  r�
read_response�HTTP1Connection.read_response�s6���;�;�!�!�+�H�k�k�6L�6L�M�H��!�!�(�+�+r!c���# �SnURRSURRS9nURRcUIShv�NnOf[70R"URRR5URR-U[RS9IShv�NnUR#U5upVUR$(a&[&R("U5nXplUnSUlO?[&R."U5n	X�lX`lU	nUR5X�5(+UlSn[[5 UR7X�5n71U72b73U74IShv�N SSS5 URcESnU(a([[5 UR5 SSS5 SnUR!5 gSnUR$(a�[9U[&R:5(deUR0bUR0R<S:XaSnUR>nUS:XaSnSUs=::aS	:aAO O�S75U;dSU;a[&R@"SU-5eURCU5IShv�N OAURES
5S:Xa,URF(dURRIS5 U(d�URKUR$(aWR>OSXa5n
U
btURLcU
IShv�N O\[76R"URRR5URL-U
[RS9IShv�N SUl*URF(aUR$(a*Sn[[5 URW5 SSS5 URXR[5(deURbXURR]5(d9URR_UR`5 URXIShv�N UR$(a!UR,(aUR5 URcCU(a([[5 UR5 SSS5 SnUR!5 gU(a([[5 UR5 SSS5 SnUR!5 gGN�GNe![77Raf UR5 U(a:[[5 UR5 SSS5 O!,(df   O=fSnUR!5 gf=fGN,!,(df   GN1=f!,(df   GN=fGN:GN�GNQ![78Ra� [NRP"SURR5 URR5 U(a:[[5 UR5 SSS5 O!,(df   O=fSnUR!5 gf=f!,(df   GN�=fGN7!,(df   GN�=f![&R@a�n[NRP"SURRU5 UR$(d$URRIS5IShv�N UR5 SnAU(a:[[5 UR5 SSS5 O!,(df   O=fSnUR!5 gSnAff=f!,(df   GN=f!U(a:[[5 UR5 SSS5 O!,(df   O=fSnUR!5 f=f7f)NFs
?79
?80��	max_bytes)�quiet_exceptionsT�HEAD�0�d���Content-Length�Transfer-Encodingz!Response code %d cannot have body�Expectz100-continuesHTTP/1.1 100 (Continue)
81
82rzTimeout reading body from %sz"Malformed HTTP message from %s: %ssHTTP/1.1 400 Bad Request
83
84)1rW�read_until_regexrYrJrKr�with_timeout�io_loop�timer85�StreamClosedError�TimeoutError�closer*r�on_connection_closerc�_parse_headersrXr	�parse_response_start_linererb�parse_request_start_linerdrf�_can_keep_alive�headers_receivedr:�ResponseStartLine�method�coder;rn�getr_�write�86_read_bodyr^r�inforZr`�finishra�done�closed�set_close_callback�_on_connection_close)rrk�need_delegate_close�
header_future�header_data�start_line_str�headers�resp_start_line�87start_line�req_start_line�header_recv_future�	skip_bodyr��body_future�es               rrn�HTTP1Connection._read_message�s���#��u	$� �K�K�8�8�����)D�)D�9��M��{�{�)�)�1�$1�1��!�(+�(8�(8����+�+�0�0�2�T�[�[�5O�5O�O�%�)1�)C�)C�)�#�K�'+�&9�&9�+�&F�#�N��~�~�"*�"D�"D�^�"T��,;�)�#��.3��*�!)�!B�!B�>�!R��+9�(�(/�%�+�88�15�1E�1E�"�2�.��*�#'��)�'�2�%-�%>�%>�z�%S�"�%�1�,�,�,�3��{�{�"�&+�#��P#�-�g�6��0�0�2�7� �M��!�!�#�W�I��~�~�!�*�h�.H�.H�I�I�I�I��,�,�8��0�0�7�7�6�A� $�I�!�����3�;�!%�I��$�$��$�(�7�2�6I�W�6T�&�5�5�?�$�F���89�,�,�X�6�6�6���;�;�x�(�N�:�4�CW�CW��K�K�%�%�&H�I��"�o�o�,0�N�N�O�(�(��7����*��)�)�1�)�)�)�	)�"%�"2�"2� $��� 3� 3� 8� 8� :�T�=O�=O� O� +�19�1K�1K�#���#'�D���'�'�4�>�>�&+�#�-�g�6��O�O�%�7��'�'�,�,�.�.��K�K�+����*�*�,�,����.�.�t�/H�/H�I��)�)�)�)��~�~�$�"<�"<��90�91���{�{�"��#�-�g�6��0�0�2�7� �M��!�!�#�#�#�-�g�6��0�0�2�7� �M��!�!�#��c2�#��92�'�'�!��J�J�L� �D#�-�g�6��0�0�2�7�6�6�� �M��!�!�#�Q!��0-�3�2��`7�6��c7�*���93 #�/�/�)�#�L�L�)G����V� �K�K�-�-�/�#(�6#�-�g�6��0�0�2�7�6�6�� �M��!�!�#�E)��7�6��*�7�6���&�&�	��L�L�=�t�|�|�Q�O��>�>��k�k�'�'�(K�L�L�L��J�J�L��"�-�g�6��0�0�2�7�6�6�� �M��!�!�#��	��7�6��#�-�g�6��0�0�2�7�6�6�� �M��!�!�#�s�_ �A94Z�T�Z�A T�7T�8T�<BZ�V�0V�1V�5Z�
_ �#V1�4_ �B:Z�	W�95BZ�W�Z�"AW�8W	�9W�=:Z�7Y4�BZ�Z�AZ�_ �*Z	�;_ �_ �-]6�>_ �Z�T�$V�Z�_ �U4�+	_ �496V�>_ �V�Z�V�97V.�)Z�198W�;_ �Z�Z�	W�AY1�Z�_ �2Y�	_ �99Y�_ �0Y1�1Z�4100Z�>	Z�	101Z�_ �]3�/A].�\�].�^�_ �0]102�	_ �103 104]�_ �.]3�3^�6105^�_ �_�^9�0	_�9106_�_�_ c��SUlSUlSUlURbURR	S5 gg)z�Clears the callback attributes.107 108This allows the request handler to be garbage collected more109quickly in CPython by breaking up reference cycles.110N)�_write_callback�
_write_future�_close_callbackrWr�rs rrc� HTTP1Connection._clear_callbacks6s=�� $���!���#����;�;�"��K�K�*�*�4�0�#r!�callbackc��Xlg)a�Sets a callback that will be run when the connection is closed.111 112Note that this callback is slightly different from113`.HTTPMessageDelegate.on_connection_close`: The114`.HTTPMessageDelegate` method is called when the connection is115closed while receiving a message. This callback is used when116there is not an active delegate (for example, on the server117side this callback is used if the client closes the connection118after sending its request but before receiving all the119response.120N)r��rr�s  rr��"HTTP1Connection.set_close_callbackBs121�� (�r!c���URbURnSUlU"5 URR5(d[URS5 UR	5 gr)r�rar�rrcr�s  rr��$HTTP1Connection._on_connection_closePsY�����+��+�+�H�#'�D� ��J��"�"�'�'�)�)�.�t�/B�/B�D�I����r!c���URbURR5 UR5 URR	5(d[URS5 ggr)rWr�rcrar�rrs rr��HTTP1Connection.close\sR���;�;�"��K�K���������"�"�'�'�)�)�.�t�/B�/B�D�I�*r!c��UR5 URnSUlURR5(d[	URS5 U$)aTake control of the underlying stream.122 123Returns the underlying `.IOStream` object and stops all further124HTTP processing.  May only be called during125`.HTTPMessageDelegate.headers_received`.  Intended for implementing126protocols like websockets that tunnel over an HTTP handshake.127N)rcrWrar�r)rrWs  r�detach�HTTP1Connection.detachcsJ��	
������������"�"�'�'�)�)�.�t�/B�/B�D�I��
r!�timeoutc��Xlg)zdSets the body timeout for a single request.128 129Overrides the value from `.HTTP1ConnectionParameters`.130N)r^)rr�s  r�set_body_timeout� HTTP1Connection.set_body_timeoutrs131��132%�r!rLc��Xlg)zgSets the body size limit for a single request.133 134Overrides the value from `.HTTP1ConnectionParameters`.135N)r])rrLs  r�set_max_body_size�!HTTP1Connection.set_max_body_sizeys136��137,�r!r�r��chunk�Future[None]c��/nUR(ao[U[R5(deXlUR[
USSUSS355 URS;=(a SU;UlGOs[U[R5(deURceURceXlUR[
SUSUS	4-55 URRS138:H=(ag URRS:g=(aG URS;=(a1 URS
:=(d URS:�=(a SU;UlURRS139:XaUR(aSUS'URRS:Xa3URRSS5R!5S:XaSUS'UR(aSUS'UR(dJURRS:Xd([#[RU5RS:XaSUlO!SU;a['US5UlOSUlSUR)55nUR+SU55 UH+n[,R/U5(dM[1SU-5e SnUR2R55(aF[75=oplUR;[<R>"55 URA5 U$[75=oplSRCU5S-nU(aX�REU5-
nUR2RGU5Ul$[KURHURL5 U$)z+Implements `.HTTPConnection.write_headers`.r� �z	 HTTP/1.1)�POST�PUT�PATCHryNzHTTP/1.1 %d %s��HTTP/1.1ru)��rvrwrxr��140ConnectionzHTTP/1.0��141keep-alivez142Keep-Alive�chunkedrzrvc3�Z# �UH!up[U5S-[U5-v� M# g7f)z: N)r)�.0�n�vs   r�	<genexpr>�0HTTP1Connection.write_headers.<locals>.<genexpr>�s(���143�=N�T�Q�J�q�M�D� �:�a�=�0�=N�s�)+c3�B# �UHoRS5v� M g7f)�latin1N)�encode)r��lines  rr�r��s���D�|�t�[�[��*�*�|�s�z+Illegal characters (CR or LF) in header: %r�
144s
145
146)'rXr:r	�RequestStartLinerd�appendrr�rgr�rfre�versionr�rbr��lowerrrh�	parse_int�get_all�extend�CR_OR_LF_RE�search�147ValueErrorrWr�rr��
set_exceptionr148r��	exception�join�
_format_chunkr�rir�_on_write_complete)	rr�r�r��lines�header_linesr��future�datas	         r�
write_headers�HTTP1Connection.write_headers�sR�����>�>��j�(�*C�*C�D�D�D�D�'1�$��L�L���A���q��A���y�I�J�K�149�!�!�%=�=�4�$�G�3�
�!�150�j�(�*D�*D�E�E�E�E��+�+�7�7�7��(�(�4�4�4�(2�%��L�L��.�*�Q�-��A��1O�O�P�Q�151�(�(�0�0�J�>�	4��,�,�3�3�v�=�	4��O�O�:�5�
	4� �_�_�s�*�D�j�o�o��.D�	4�%�G�3�
�!�"�(�(�0�0�J�>��.�.�(/���%��(�(�0�0�J�>��)�)�-�-�l�B�?�E�E�G�<�W�(4���%�� � �+4�G�'�(��~�~��$�$�+�+�v�5��H�.�.�152�;�@�@�C�G�/0�D�,�
��
(�/8��AQ�9R�/S�D�,�/3�D�,�153�=D�_�_�=N�154��	���D�|�D�D��D��!�!�$�'�'� �!N�QU�!U�V�V�����;�;�����*0�(�2�F�'�� � ��!;�!;�!=�>������
�
+1�(�2�F�'��<�<��&��4�D���*�*�5�1�1��"&�+�+�"3�"3�D�"9�D��$�T�%8�%8�$�:Q�:Q�R��
r!c�L�URb^U=R[U5-slURS:a0URR5 [R155"S5eUR(a'U(a [S[U5-5S-U-S-$U$)Nrz,Tried to write more data than Content-Lengthz%xr�)rh�lenrWr�r	�HTTPOutputErrorrgr)rr�s  rr��HTTP1Connection._format_chunk�s����+�+�7��,�,��E�156�:�,��/�/�!�3����!�!�#��.�.�B���� � �U���s�5�z�)�*�W�4�u�<�w�F�F��Lr!c��SnURR5(aZ[5=o lURR	[157R"55 URR5 U$[5=o lURRURU55Ul158[URUR5 U$)z�Implements `.HTTPConnection.write`.159 160For backwards compatibility it is allowed but deprecated to161skip `write_headers` and instead call `write()` with a162pre-encoded header block.163N)
rWr�rr�r�r164r�r�r�r�rirr�)rr�r�s   rr��HTTP1Connection.write�s������;�;�����*0�(�2�F�'����,�,�X�-G�-G�-I�J����(�(�*�165�
�+1�(�2�F�'�"&�+�+�"3�"3�D�4F�4F�u�4M�"N�D��$�T�%8�%8�$�:Q�:Q�R��
r!c���URblURS:wa\URR5(d=URR5 [R166"SUR-5eUR(adURR5(dEURRS5UlURRUR5 SUlUR(dSUl
URRS5 URcURS5 g[!URUR5 g)z$Implements `.HTTPConnection.finish`.Nrz0Tried to write %d bytes less than Content-Lengths0
167
168T)rhrWr�r�r	r�rgr�ri�add_done_callbackr�r_r`rb�set_nodelay�_finish_requestrrs rr��HTTP1Connection.finish�s��
�,�,�8��0�0�A�5��K�K�&�&�(�(��K�K�����*�*�B��2�2�3��
�� � ��;�;�%�%�'�'�&*�k�k�&7�&7��&E��#��#�#�5�5�d�6M�6M�N�#����"�"�)-�D�&�	
������%����&�� � ��&�$�T�%8�%8�$�:N�:N�Or!c�l�UR5nUb/[U[R5(dUR	5 UR169b8UR170nSUlURRRU5 URb URnSUl	[US5 ggr)r�r:r171r��resultr�rWr~�add_callbackr�r)rr��excr�s    rr��"HTTP1Connection._on_write_completes������ ���?�:�c�8�3M�3M�#N�#N��M�M�O����+��+�+�H�#'�D� ��K�K���,�,�X�6����)��'�'�F�!%�D��.�v�t�<�*r!c��URR(agURS5nUbUR5nURS:XaUS:g$SU;d![U5(d[
USS5S;aUS:H$g)	NFr�r�r�ryr�)ru�GETr�)rYrHr�r�r��is_transfer_encoding_chunked�getattr)rr�r��connection_headers    rr��HTTP1Connection._can_keep_alive&s����;�;�$�$��#�K�K��5���(� 1� 7� 7� 9������+�$��/�/���'�+�G�4�4��z�8�T�2�o�E�%��4�4�r!c�,�UR5 UR(d"UR(aUR5 gURRS5 URR5(d[URS5 gg)NF)	rcrXrbr�rWr�rar�r)rr�s  rr��HTTP1Connection._finish_request:sg�������~�~�$�"<�"<��J�J�L��	
������&��"�"�'�'�)�)�.�t�/B�/B�D�I�*r!r�c���[URS55RS5nURS5nUSUR	S5n[172RRX#S5nXE4$)Nr�z
173�174�
)r�decode�lstrip�find�rstripr	�HTTPHeaders�parse)rr��data_str�eolr�r�s      rr��HTTP1Connection._parse_headersEsi��175�d�k�k�(�3�4�;�;�F�C���m�m�D�!���d�s�^�*�*�4�0�176��&�&�,�,�X�d�^�<���"�"r!r�c��^�SU;a�SUS;aX[R"SUS5m[U4SjT55(a[R"SUS-5eTSUS'[US5n[[U5UR:�a[R"S5eOSn[U5nUS	:Xa(U(dUS177;a[R"SU-5eSnU(aURU5$UbURXC5$UR(aURU5$g![a [R"SUS-5ef=f)Nry�,z,\s*c3�2># �UHoTS:gv� M g7f)rNr)r��i�piecess  �rr��-HTTP1Connection._read_body.<locals>.<genexpr>]s����6�v�!�F�1�I�~�v�s�z$Multiple unequal Content-Lengths: %rrz*Only integer Content-Length is allowed: %szContent-Length too longr�)Nrz*Response with code %d should not have body)�re�split�anyr	r;r�r�rrRr]r��_read_chunked_body�_read_fixed_bodyrX�_read_body_until_close)rr�r�rk�content_length�178is_chunkedrs      @rr��HTTP1Connection._read_bodyQs}����w�&��g�.�/�/����'�7�3C�+D�E���6�v�6�6�6�"�1�1�>�!�"2�3�4���-3�1�I��(�)�
�09�'�BR�:S�0T���C��(�4�+>�+>�>��-�-�.G�H�H�?�"�N�1�'�:�179��3�;��^�9�<��-�-�@�4�G����N���*�*�8�4�4��%��(�(��B�B��>�>��.�.�x�8�8���=�
��-�-�@��.�/�0���
�s�*D7�7'Erc��# �US:�a�URR[URRU5SS9IShv�NnU[U5-nUR(aUR(a6[[5 URU5nUb180UIShv�N SSS5 US:�aM�ggNtN!,(df   N=f7f)NrT��partial)rW�181read_bytes�minrYrIr�r_rXr*r�
data_received)rrrk�body�rets     rr� HTTP1Connection._read_fixed_body�s�����q� ����/�/��D�K�K�*�*�N�;�T�0���D�
�c�$�i�'�N��'�'�4�>�>�-�g�6�"�0�0��6�C���!�	�	�7�
�q� ��"�7�6�sC�AC�B9�AC�B=�"B;�#B=�'C�7C�;B=�=182C�Cc��# �SnURRSSS9IShv�Nn[[USS55nUS:Xa@URRS5IShv�NnUS:wa[183R"S	5egX$-
nX R:�a[184R"S1855eUnU(a�URR[X`RR5SS9IShv�NnU[U5-nUR(aUR(a6[[ 5 UR#U5nUb186UIShv�N SSS5 U(aM�URRS5IShv�NnUS:XdeGM�GNq![a [187R"S5ef=fGNWN�No!,(df   Ns=fNN7f)NrTr��@rr�����zinvalid chunk sizer�z%improperly terminated chunked requestzchunked body too larger)rW�188read_until�
parse_hex_intrr�r	r;rr]rrYrIr�r_rXr*rr )	rrk�189total_size�
chunk_len_str�	chunk_len�crlf�
bytes_to_readr�r"s	         rr�"HTTP1Connection._read_chunked_body�s�����190��"&�+�+�"8�"8��B�"8�"O�O�M�
D�)�*�]�3�B�5G�*H�I�	��A�~�!�[�[�3�3�A�6�6���7�?�"�1�1�?�����#�J��/�/�/��-�-�.F�G�G�%�M��"�k�k�4�4��
�{�{�'=�'=�>��5������U��+�
��+�+�t�~�~�1�'�:�&�4�4�U�;���?�"%�I�I�;�
 �-����/�/��2�2�D��7�?�"�?�;�O���
D��-�-�.B�C�C�
D��7��&�;�:��1913�s��!G�F�G�F�$G�$F;�%B
G�2F>�3AG�6G�G�G�G�&G�G�G�!F8�8G�>G�G�192G�Gc��,# �URR5IShv�NnUR(aUR(a7[	[1935 UR
U5nUb194UIShv�N SSS5 ggN^N!,(df   g=f7fr)rW�read_until_closer_rXr*rr )rrkr!r"s    rr�&HTTP1Connection._read_body_until_close�sn����[�[�1�1�3�3���#�#�t�~�~�)�'�2��,�,�T�2���?��I�I�3�2�(6�4�195�3�2�s9�B�A?�5B�B�0B�1B�5B�B�196B�
B)r^rgr�rbrhrar]rir`rfrdrer�r_r�rZrXrHrYrW�NNr"r)r�r�r#N)r�zOptional[Future[None]]r#N)/r$r%r&r'r?r197�IOStreamrQrrF�objectrr	�HTTPMessageDelegaterrornrcrr�r�r�r�rSr�rRr�rr�r�r�bytesr�r�r�r�r�r�r�r�strr�r�rrrr(rr!rrUrUmsn���7;�$(�7#��!�!�7#��7#��2�3�	7#�198�&�!�7#�199�
7#�r
,�h�&B�&B�
,�y�QU��
,�x�H�,H�,H�x�T�x�t2001�(�8�H�R��X�4F�+G�(�D�(�201 �J�
��)�)�
�%��%�$�%�,�s�,�t�,�"&�	U��(�3�3�X�5O�5O�O�P�U��%�%�U����	U�202203�U�n�5��U�� �5��^��$P�@=��"�3�3��>F�>R�>R��	
��(	J�204#�5�205#�U�3��8L�8L�3L�-M�206#�3��3��%�%�3��.�.�	3�207208�)�D�/�	"�3�j"�!�"�-5�-I�-I�"�	
�"� #��1M�1M� #�RV� #�D� �4�4��	
�r!rUc���\rSrSrSrS\RS\SS4SjrS\	\R\R4S	\RS\
\S4S209jrS\SS4SjrSS
jrSSjrSrg)rmi�zDWraps an `HTTPMessageDelegate` to decode ``Content-Encoding: gzip``.rkrIr#Nc�*�XlX lSUlgr)�	_delegate�_chunk_size�
_decompressor)rrkrIs   rr�_GzipMessageDelegate.__init__�s��!��%��!��r!r�r�c���URSS5R5S:Xa'[5UlUR	SUS5 US	UR210R
X5$)NzContent-Encodingr��gzipzX-Consumed-Content-Encoding)r�r�r
r<�addr:r�)rr�r�s   rr��%_GzipMessageDelegate.headers_received�sa��211�;�;�)�2�.�4�4�6�&�@�!1�!3�D��
�K�K�5�w�?Q�7R�S��*�+��~�~�.�.�z�C�Cr!r�c���# �UR(a�UnU(a�URRX R5nU(a(URR	U5nUb212UIShv�N URR213nU(aU(d[R"S5eU(aM�ggURR	U5nUbUIShv�N ggNsN7f)Nz8encountered unconsumed gzip data without making progress)r<rNr;r:r �unconsumed_tailr	r;)rr��compressed_data�decompressedr"s     rr �"_GzipMessageDelegate.data_received�s�������#�O�!�#�1�1�<�<�#�%5�%5� �� ��.�.�6�6�|�D�C���!�	�	�"&�"4�"4�"D�"D��"�<�"�1�1�R���"�/��.�.�.�.�u�5�C����	�	��"��s+�A*C$�,C �-AC$�4%C$�C"�C$�"C$c��URb,URR5nU(a[S5eURR	5$)Nz:decompressor.flush returned data; possible truncated input)r<�flushr�r:r�)r�tails  rr��_GzipMessageDelegate.finish�sL�����)��%�%�+�+�-�D��!�P����~�~�$�$�&�&r!c�6�URR5$r)r:r�rs rr��(_GzipMessageDelegate.on_connection_close�s���~�~�1�1�3�3r!)r;r<r:r")r$r%r&r'r?r	r5rRrrr�r�rrrr�r6r r�r�r(rr!rrmrm�s���N�"��!=�!=�"�3�"�SW�"�214D��(�3�3�X�5O�5O�O�P�D��%�%�D�215�)�D�/�	"�	D����4��*
'�4r!rmc	��\rSrSrSrSS\RS\\S\\	SS4Sjjr216SS	jrS217\RSS4SjrS218\RSS4SjrS
rg)�HTTP1ServerConnectioni�zAn HTTP/1.x server.NrWrYrZr#c�P�XlUc219[5nX lX0lSUlg)z�220:arg stream: an `.IOStream`221:arg params: a `.HTTP1ConnectionParameters` or None222:arg context: an opaque application-defined object that is accessible223    as ``connection.context``224N)rWrFrYrZ�_serving_future)rrWrYrZs    rr�HTTP1ServerConnection.__init__s(�����>�.�0�F�����#��r!c��# �URR5 URceURIShv�N gN![a gf=f7f)z]Closes the connection.225 226Returns a `.Future` that resolves after the serving loop has exited.227N)rWr�rP�	Exceptionrs rr��HTTP1ServerConnection.closesP���228	
�������#�#�/�/�/�	��&�&�&�&���	��	�s8�*A�A�A�A�A�A�229A�A�A�Arkc���[U[R5(de[R"URU55nX lURRRUS5 g)z^Starts serving requests on this connection.230 231:arg delegate: a `.HTTPServerConnectionDelegate`232c�"�UR5$r)r�)�fs r�<lambda>�5HTTP1ServerConnection.start_serving.<locals>.<lambda>,s233��a�h�h�jr!N)234r:r	�HTTPServerConnectionDelegater�convert_yielded�_server_request_looprPrWr~�235add_future)rrk�futs   r�
start_serving�#HTTP1ServerConnection.start_serving#sY��236�(�H�$I�$I�J�J�J�J��!�!�$�";�";�H�"E�F��"�������&�&�s�,@�Ar!c���# �[URSURUR5nUR	X5nURU5IShv�NnU(dURU5 g[R""S5IShv�N M�N>![R[R[R4a URU5 g[a$ UR5 URU5 g[a9 [R "SSS9 UR5 URU5 gf=fN�!URU5 f=f7f)NTFr7r8r)rUrWrYrZ�
start_requestror237r��UnsatisfiableReadError�asyncio�CancelledError�on_closerr�rSrr<�sleep)rrk�conn�request_delegater"s     rr\�*HTTP1ServerConnection._server_request_loop.s:���	$��&�t�{�{�E�4�;�;����U��#+�#9�#9�$�#E� �� $� 2� 2�3C� D�D�C���
���d�#��m�m�A�&�&�&�+�E���.�.��3�3��*�*���238�
���d�#�'���J�J�L��
���d�#�!���M�M�"6��F��J�J�L��239
���d�#���'�����d�#�s��E'�>E�B�B�B�E�$E'�6E�E�E�B�3E�E�E'�E�7E�8E'�240.E�8E�9E'�E�E�E$�$E')rPrZrYrWr2r")r$r%r&r'r?r241r3rrFr4rr�r	rZr_r\r(rr!rrNrN�s����2427;�$(�	$��!�!�$��2�3�$��&�!�	$�243244�$�&�	B�h�&K�&K�	B�PT�	B�$� �=�=�$�	
�$r!rNz[0-9]+z[0-9a-fA-F]+�sr#c�`�[RU5c[SU-5e[U5$)z+Parse a non-negative integer from a string.znot an integer: %r)�DIGITS�	fullmatchr�rR�rks rr�r�Ps-��
�����"��-��1�2�2��q�6�Mr!c�b�[RU5c[SU-5e[US5$)z7Parse a non-negative hexadecimal integer from a string.znot a hexadecimal integer: %r�)�	HEXDIGITSrnr�rRros rr(r(Ws0�����1��%��8�1�<�=�=��q�"�:�r!r�c��SU;agSU;a[R"S5eUSR5S:Xag[R"SUS-5e)z�Returns true if the headers specify Transfer-Encoding: chunked.245 246Raise httputil.HTTPInputError if any other transfer encoding is used.247rzFryz6Message with both Transfer-Encoding and Content-Lengthr�Tz Unsupported Transfer-Encoding %s)r	r;r�)r�s rr�r�^sn���'�)���7�"��%�%�D�248�	249��"�#�)�)�+�y�8���250!�251!�*�W�5H�-I�I��r!)1r?rdr@rrC�tornado.concurrentrrr�tornado.escaperr�tornadorr	r252�tornado.logrr�tornado.utilr
�typingrrrrrrr�compiler�rSrr*rF�HTTPConnectionrUr5rmrNrmrrr7rRr�r(rrQr�rr!r�<module>r|s�� �253��	����254,����(�)�K�J�J��j�j��"��
�i�
�255"�"�6%�%�BQ	�h�-�-�Q	�h;4�8�7�7�;4�|J$�J$�Z256���I�	���J�J��'�	�������S��S���(�*>�*>��4�r!
codekingpro/portable-devtools · Team Ai