Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
curl_httpclient.cpython-313.pyc113 linesDownload Raw Back to __pycache__
1�

2��j�c���SrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJ	r	 SSK3Jr SSK4Jr SSK
JrJr SSKJrJrJrJrJr SSKJr SS	KJrJrJrJrJr SSKr\R<(aSS5KJrJ r  \RB"S5r"\RF"S5r$"S
S\5r%"SS\5r&\'S:Xa\RP"\%5 \"5 gg)z5Non-blocking HTTP client implementation using pycurl.�N)�BytesIO)�httputil)�ioloop)�utf8�6native_str)�HTTPRequest�HTTPResponse�	HTTPError�AsyncHTTPClient�main)�app_log)�Dict�Any�Callable�Union�Optional)�Deque�Tupleztornado.curl_httpclients
|7c8��^�\rSrSrS(S\S\\\\4SS4U4Sjjjr	S)U4Sjjr9S\S	\\
/S4SS4S10jrS\S\S
\S\SS411SjrS\SS4SjrS\S\SS4SjrS)SjrS)SjrS)SjrS)SjrS*S\R0S\\S\\SS4SjjrS	\SS4SjrS\R04SjrS\R0S\S\S\R<SS412S jrS\R<S!\\/S4S"\SS4S#jr S$\S%\SS4S&jr!S'r"U=r#$)+�CurlAsyncHTTPClient�3N�max_clients�defaults�returnc�>�[TU]US9 [R"5UlURR[RUR5 URR[RUR5 [U5Vs/sHo0R5PM snUlURSSUl
[R"5Ul0UlSUl[&R("UR*S5UlUR,R/5 [R0"5nURR3U5 URR5U5 gs snf)N)r��)�super�13initialize�pycurl�	CurlMulti�_multi�setopt�M_TIMERFUNCTION�_set_timeout�M_SOCKETFUNCTION�_handle_socket�range�_curl_create�_curls�14_free_list�collections�deque�	_requests�_fds�_timeoutr�PeriodicCallback�_handle_force_timeout�_force_timeout_callback�start�Curl�15add_handle�
remove_handle)�selfrr�i�dummy_curl_handle�	__class__s     ��]D:\code\apps\devtools\python\user_packages\Python313\site-packages\tornado/curl_httpclient.pyr�CurlAsyncHTTPClient.initialize4s)���	���H��-��&�&�(��������6�1�1�4�3D�3D�E������6�2�2�D�4G�4G�H�49�+�4F�G�4F�q�(�(�*�4F�G����+�+�a�.�������	
����	���
�(.�'>�'>��&�&��(16��$�	
�$�$�*�*�,�#�K�K�M�������0�1����!�!�"3�4��1Hs�Fc�P>�URR5 URb%URR	UR5 UR17HnUR
5 M URR
5 [TU]5 SUlSUlg�N)	r2�stopr/�io_loop�remove_timeoutr)�closer!r)r7�curlr:s  �r;rB�CurlAsyncHTTPClient.closeVsv����$�$�)�)�+��=�=�$��L�L�'�'��
�
�6��K�K�D��J�J�L� �������
��
��18(,��$�����request�callbackc��URRXURR545 UR	5 URS5 g�Nr)r-�appendr@�time�_process_queuer$)r7rFrGs   r;�19fetch_impl�CurlAsyncHTTPClient.fetch_implesB��	
�����w�$�,�,�2C�2C�2E�F�G��������!�rE�event�fd�multi�datac	���[R[RR[R20[RR[R[RR[R[RR[RR-0nU[R:Xa9X R;a)URRU5 URU	ggXQnX R;aURRU5 URRX RU5 X`RU'g)zOCalled by libcurl when it wants to change the file descriptors21it cares about.22N)r�	POLL_NONEr�IOLoop�NONE�POLL_IN�READ�POLL_OUT�WRITE�23POLL_INOUT�POLL_REMOVEr.r@�remove_handler�add_handler�_handle_events)r7rOrPrQrR�	event_map�ioloop_events       r;r&�"CurlAsyncHTTPClient._handle_socketls���24
���f�m�m�0�0��N�N�F�M�M�.�.��O�O�V�]�]�0�0����v�}�}�1�1�F�M�M�4G�4G�G�	25�	��F�&�&�&��Y�Y�����+�+�B�/��I�I�b�M��%�+�L��Y�Y�����+�+�B�/��L�L�$�$�R�)<�)<�l�K�(�I�I�b�MrE�msecsc���URb%URRUR5 URRURR	5US--UR265Ulg)z(Called by libcurl to schedule a timeout.Ng@�@)r/r@rA�add_timeoutrK�_handle_timeout)r7rcs  r;r$� CurlAsyncHTTPClient._set_timeout�sY���=�=�$��L�L�'�'��
�
�6����0�0��L�L����%�&�.�0�$�2F�2F�27��
rE�eventsc���SnU[RR-(aU[R-nU[RR28-(aU[R-nURRX5upEU[R:waOM5UR5 g![RanURSnSnANPSnAff=f)zHCalled by IOLoop when there is activity on one of our29file descriptors.30rN)
rrUrXr�31CSELECT_INrZ�CSELECT_OUTr!�
socket_action�error�args�E_CALL_MULTI_PERFORM�_finish_pending_requests)r7rPrh�action�ret�num_handles�es       r;r_�"CurlAsyncHTTPClient._handle_events�s������F�M�M�&�&�&��f�'�'�'�F��F�M�M�'�'�'��f�(�(�(�F��
 �#'�;�;�#<�#<�R�#H� ���f�1�1�1��
�	
�%�%�'��	�<�<�
 ��f�f�Q�i���
 �s�/B4�4C!�C�C!c��SUlURR[RS5upU[R:waOMDUR5 URR5nUS:�aURU5 gg![R32anURSnSnAN�SnAff=f)z7Called by IOLoop when the requested timeout has passed.Nr)r/r!rlr�SOCKET_TIMEOUTrmrnrorp�timeoutr$)r7rrrsrt�new_timeouts     r;rf�#CurlAsyncHTTPClient._handle_timeout�s�����
��
 �#'�;�;�#<�#<�V�=R�=R�TU�#V� ���f�1�1�1��
�	
�%�%�'��k�k�)�)�+���!�����k�*���)�<�<�
 ��f�f�Q�i���
 �s�,B�B=�$B8�8B=c���URR5upU[R33:waOM4UR
5 g![RanURSnSnANPSnAff=f)z`Called by IOLoop periodically to ask libcurl to process any34events it may have forgotten about.35rN)r!�36socket_allrrmrnrorp)r7rrrsrts    r;r1�)CurlAsyncHTTPClient._handle_force_timeout�sj���
 �#'�;�;�#9�#9�#;� ���f�1�1�1��
�	
�%�%�'��	�<�<�
 ��f�f�Q�i���
 �s�A�A4�A/�/A4c���URR5upnUHnURU5 M UHupEnURXEU5 M US:XaOM^UR5 g)zRProcess any requests that were completed by the last37call to multi.socket_action.38rN)r!�	info_read�_finishrL)r7�num_q�ok_list�err_listrC�errnum�errmsgs       r;rp�,CurlAsyncHTTPClient._finish_pending_requests�sn���'+�{�{�'<�'<�'>�$�E�H������T�"� �(0�$��f����T�6�2�)1���z���	
���rEc	��SnUR(Ga UR(GaUS-
nURR5nURR5up4n[R39"5[
5UUU[R"5URR5R5S.Ul40URUUURSURS5 URRU5 UR(aUR(aGMU(dgGM?![a6nURRU5 U"[!USUS95 SnANkSnAff=f)Nr�)�headers�bufferrFrG�queue_start_time�curl_start_time�curl_start_ioloop_timer�r��W)rF�coderm)r*r-�pop�popleftr�HTTPHeadersrrKr@�current�info�_curl_setup_requestr!r5�	ExceptionrJr	)r7�startedrCrFrGr�rts       r;rL�"CurlAsyncHTTPClient._process_queue�s7����G��/�/�/�d�n�n�n��1������*�*�,��8<���8N�8N�8P�5��$4� (�3�3�5�%�i�&� (�(8�'+�y�y�{�.2�l�l�.B�.B�.D�.I�.I�.K���	�1��,�,����	�	�(�+��	�	�)�,�	�$�K�K�*�*�4�0�C�/�/�d�n�n�n�F��M��.!�41O��O�O�*�*�4�0��\�'��1�M�N�N��42O�s�.E�43F�,E<�<FrC�44curl_error�curl_messagec�x�URnSUlURRU5 URR	U5 USnU(a6Uce[X#5nUceURnSnUR5 SnOQSnUR[R5nUR[R5nURS5 [USUS-45UR[R5UR[R5UR[R 5UR[R"5UR[R$5UR[R&5UR[R(5S9n	US"[+USUUSUUUUSR-S	S5UR.R15US-46US47U	S9485 g![2a UR5US5 gf=f)Nr�rr�r�)�queue�49namelookup�connect�50appconnect�pretransfer�
starttransfer�total�redirectrGrFr�z
X-Http-Reasonr�)51rFr�r�r��
effective_urlrm�reason�request_time�52start_time�	time_info)r�r!r6r*rJ�	CurlErrorr�rB�getinfor�	HTTP_CODE�
EFFECTIVE_URL�seek�dict�NAMELOOKUP_TIME�CONNECT_TIME�APPCONNECT_TIME�PRETRANSFER_TIME�STARTTRANSFER_TIME�53TOTAL_TIME�
REDIRECT_TIMEr	�getr@rKr��handle_callback_exception)54r7rCr�r�r�r�rmr�r�r�s55          r;r��CurlAsyncHTTPClient._finishs����y�y����	����!�!�$�'������t�$��h�����+�+�+��j�7�E��$�$�$��:�:�D� �M��L�L�N��F��E��<�<�� 0� 0�1�D� �L�L��)=�)=�>�M��K�K��N���/�0�4�8J�3K�K��|�|�F�$:�$:�;��L�L��!4�!4�5��|�|�F�$:�$:�;����V�%<�%<�=��,�,�v�'@�'@�A��,�,�v�0�0�1��\�\�&�"6�"6�7�	56�	�	=����� ��O�� ��O�!�"/���	�?�.�.���E�!%���!2�!2�!4�t�<T�7U�!U�#�$5�6�'��

���	=��*�*�4�57�+;�<�	=�s�AH�H9�8H9c�0�[R"SUSS9 g)NzException in callback %rT)�exc_info)r
rm)r7rGs  r;r��-CurlAsyncHTTPClient.handle_callback_exception:s���
�
�0�(�T�JrEc�:�[R"5n[R[R585(aJUR
[RS5 UR
[RUR5 [[S5(a~UR
[R[R[R-5 UR
[R[R[R-5 U$)Nr��	PROTOCOLS)rr4�curl_log�isEnabledFor�logging�DEBUGr"�VERBOSE�
DEBUGFUNCTION�_curl_debug�hasattrr��59PROTO_HTTP�PROTO_HTTPS�REDIR_PROTOCOLS)r7rCs  r;r(� CurlAsyncHTTPClient._curl_create=s����{�{�}��� � ����/�/��K�K�����*��K�K��,�,�d�.>�.>�?���K�60�61�
�K�K��(�(�&�*;�*;�f�>P�>P�*P�Q��K�K��.�.��0A�0A�F�DV�DV�0V�W��rEr�r�c	�N^^^^�TR[R[TR55 STR62;aSTR63S'STR64;aSTR65S'TR66R
5VVs/sH<upVS[U5RS5[U5RS54-PM> nnnUH+n[RU5(dM[SU-5e TR[RU5 TR[R[R"TRUTR 55 TR"(a#S[$[&[(4S	[*4UU4S67jjn	OUR,n	TR[R.U	5 TR[R0TR25 TR[R4TR65 TR8ceTR[R:[+STR8-55 TR<ceTR[R>[+STR<-55 TR@(a4TR[RB[TR@55 O TR[RBS5 TRD(a*TR[RFTRD5 TRH(a!TR[RJS
5 O TR[RJS5 TRL(GatTRN(GabTR[RPTRL5 TR[RRTRN5 TRT(aZTRVce[XRZ"TRTTRV5n68TR[R\U695 TR^bTR^S:Xa/TR[R`[Rb5 O�TR^S:Xa/TR[R`[Rd5 OW[STR^-5eTRg[RP5 TRg[R\5 TRj(aATR[RlS5 TR[RnS5 O@TR[RlS5 TR[RnS5 TRpb+TR[RrTRp5 OTRtSLa/TR[Rv[Rx5 O.TR[Rv[Rz5 [R|[R~[R�[R�S.n1SknUR�5Hn
TRU
S5 M TR�U;a?TRg[R�5 TRUTR�S5 OdTR�(dTR�U;a+TR[R�TR�5 O[�STR�-5eTR�S;nTR�SLnTR�(dCU(aU(aU(a.U(d'[SU(aSOS<STR�<S35eU(dU(GaFTR�S:Xa[S5e[�[�TR�=(d S55mS [*S	S4UU4S!jjnTR[R�TR�5 TR[R�U5 TR�S":Xa=TR[R�[�TR�=(d S55 O\TR[R�S5 TR[R�[�TR�=(d S55 TR�Gb4TR�ceTR�bTR�S:Xa/TR[R�[Rb5 OWTR�S:Xa/TR[R�[Rd5 O[S#TR�-5e[XRZ"TR�TR�5nTR[R�U5 [�R�S$TR�TRTR�5 OJTRg[R�5 [�R�S%TR�TR5 TR�b*TR[R�TR�5 TR�b*TR[R�TR�5 TR�b[S&5e[�R�"5S:�a TR[R�S5 TR�bTR�T5 ggs snnf![ha$ TR[RPS5 GN�f=f)'N�Expect��Pragmas%s: %s�ASCIIz	ISO8859-1z+Illegal characters in header (CR or LF): %r�brc�>�TRceTRRTRU5 [U5$r>)�streaming_callbackr@�add_callback�len)r�rFr7s ��r;�write_function�?CurlAsyncHTTPClient._curl_setup_request.<locals>.write_functionss8����1�1�=�=�=����)�)�'�*D�*D�a�H��1�v�
rErz Mozilla/5.0 (compatible; pycurl)zgzip,deflate�basic�digestzUnsupported proxy_auth_mode %sr��rF)�GET�POST�PUT�HEAD>�PATCH�DELETE�OPTIONSTzunknown method )r�r�r�z70Body must znot zbe None for method z+ (unless allow_nonstandard_methods is true)r�z!Body must be None for GET request�cmdc�J>�UTR:XaTRS5 ggrI)�IOCMD_RESTARTREADr�)r�rC�request_buffers ��r;�ioctl�6CurlAsyncHTTPClient._curl_setup_request.<locals>.ioctl�s$����$�0�0�0�"�'�'��*�1rEr�zUnsupported auth_mode %sz%s %s (username: %r)�%s %sz,ssl_options not supported in curl_httpclient)`r"r�URLr�urlr��get_all�encode�CR_OR_LF_RE�search�71ValueError�72HTTPHEADER�HEADERFUNCTION�	functools�partial�_curl_header_callback�header_callbackr�r�bytes�	bytearray�int�write�
WRITEFUNCTION�FOLLOWLOCATION�follow_redirects�	MAXREDIRS�
max_redirects�connect_timeout�CONNECTTIMEOUT_MS�request_timeout�73TIMEOUT_MS�74user_agent�	USERAGENT�network_interface�	INTERFACE�decompress_response�ENCODING�75proxy_host�76proxy_port�PROXY�	PROXYPORT�proxy_username�proxy_passwordr�encode_username_password�PROXYUSERPWD�proxy_auth_mode�	PROXYAUTH�HTTPAUTH_BASIC�HTTPAUTH_DIGEST�unsetopt�	TypeError�
validate_cert�SSL_VERIFYPEER�SSL_VERIFYHOST�ca_certs�CAINFO�77allow_ipv6�	IPRESOLVE�IPRESOLVE_V4�IPRESOLVE_WHATEVER�HTTPGETr��UPLOAD�NOBODY�values�method�
CUSTOMREQUEST�allow_nonstandard_methods�KeyError�bodyrr�READFUNCTION�read�
IOCTLFUNCTION�
POSTFIELDSIZEr��78INFILESIZE�
auth_username�
auth_password�	auth_mode�HTTPAUTH�USERPWDr��debug�client_cert�SSLCERT�79client_key�SSLKEY�ssl_options�	threading�active_count�NOSIGNAL�prepare_curl_callback)r7rCrFr�r��k�v�encoded_headers�liner��credentials�curl_options�custom_methods�o�
body_expected�body_presentr��userpwdr�s```               @r;r��'CurlAsyncHTTPClient._curl_setup_requestIs����	
���F�J�J�80�7�;�;� 7�8��7�?�?�*�(*�G�O�O�H�%��7�?�?�*�(*�G�O�O�H�%�81 ���/�/�1�82�2���
��!�}�#�#�G�,�j��m�.B�.B�;�.O�P�
Q�1�	�83�84$�D��!�!�$�'�'� �!N�QU�!U�V�V�$�	
���F�%�%��7�����!�!�����*�*�G�W�5L�5L�
�	85��%�%�
�%��y�(8�"9�
�c�
�
�$�\�\�N����F�(�(�.�9����F�)�)�7�+C�+C�D����F�$�$�g�&;�&;�<��&�&�2�2�2����F�,�,�c�$��9P�9P�2P�.Q�R��&�&�2�2�2����F�%�%�s�4�'�2I�2I�+I�'J�K�����K�K��(�(�*�W�5G�5G�*H�I��K�K��(�(�*L�M��$�$��K�K��(�(�'�*C�*C�D��&�&��K�K�����8��K�K�����.�����'�"4�"4�"4��K�K����g�&8�&8�9��K�K��(�(�'�*<�*<�=��%�%��-�-�9�9�9�&�?�?��*�*�G�,B�,B������F�/�/��=��&�&�.�'�2I�2I�W�2T����F�,�,�f�.C�.C�D��(�(�H�4����F�,�,�f�.D�.D�E� �4�w�7N�7N�N���
.��
�
�f�l�l�+�
�M�M�&�-�-�.�� � ��K�K��-�-�q�1��K�K��-�-�q�1��K�K��-�-�q�1��K�K��-�-�q�1����'��K�K��
�
�w�'7�'7�8�
�����&�
�K�K��(�(�&�*=�*=�>��K�K��(�(�&�*C�*C�D�86�>�>��K�K��=�=��M�M�	87��8���$�$�&�A��K�K��5�!�'��>�>�\�)��M�M�&�.�.�/��K�K��W�^�^�4�d�;�
�
.�
.�'�.�.�N�2R��K�K��,�,�g�n�n�=��,�w�~�~�=�>�>����*B�B�
��|�|�4�/���0�0��l��]� �"/�v�B�6����H����L��~�~��&�!�!D�E�E�$�T�'�,�,�*<�"�%=�>�N�
+�3�
+�4�
+�
+�
�K�K��+�+�^�-@�-@�A��K�K��,�,�e�4��~�~��'����F�0�0�#�g�l�l�6H�b�2I�J����F�M�M�4�0����F�-�-�s�7�<�<�3E�2�/F�G�� � �,��(�(�4�4�4�� � �(�G�,=�,=��,H����F�O�O�V�-B�-B�C��"�"�h�.����F�O�O�V�-C�-C�D� �!;�g�>O�>O�!O�P�P��7�7��%�%�w�'<�'<��G�
�K�K�����0��N�N�&��������%�%�	
�
�M�M�&�.�.�)��N�N�7�G�N�N�G�K�K�@����*��K�K�����(;�(;�<����)��K�K��
�
�w�'9�'9�:����*��K�L�L��!�!�#�a�'�
�K�K�����+��(�(�4��)�)�$�/�5��y88��~�
.����F�L�L�"�-�
.�s�Ao0�+o6�6*p$�#p$r��header_line_bytesc��[URS55nUbURRX$5 UR	5nURS5(a/UR
5 [R"U5upVnSU-nU(dgURU5 g![Ra gf=f)N�latin1zHTTP/zX-Http-Reason: %s)r�decoder@r��rstrip�89startswith�clearr�parse_response_start_line�HTTPInputError�90parse_line)r7r�r�rG�header_line�_version�_coder�s        r;r��)CurlAsyncHTTPClient._curl_header_callback s���!�!2�!9�!9�(�!C�D���&��L�L�%�%�o�C�"�(�(�*���!�!�'�*�*��M�M�O�
�,4�,N�,N��-�)��&�2�F�:�������;�'��	�*�*�
��
�s�0B(�(B?�>B?�91debug_type�	debug_msgc�8�SnUS:Xa0[U5n[RSUR55 gUS;a<[U5nUR	5Hn[RSX1U5 M gUS:Xa[RSX1U5 gg)N)�I�<�>rYrZrz%s)r�r�r��z%s %r)rr�r1�strip�92splitlines)r7rUrV�debug_typesr>s     r;r��CurlAsyncHTTPClient._curl_debug9s���/����?�"�9�-�I��N�N�4����!2�3�
�6�
!�"�9�-�I�!�,�,�.�����w��(?��F�/�
�1�_��N�N�7�K�$;�Y�G�rE)r)r.r2r*r!r-r/)�93N)rN)NN)$�__name__�94__module__�__qualname__�__firstlineno__r�rr�strrrrBrrr	rMr�r&r$r_rfr1rprLrr4r�r�r(rrr�r�r�r��__static_attributes__�
__classcell__)r:s@r;rr3s����JN� 5�� 5�/7��S�#�X��/G� 5�	
� 5� 5�D
��"��.6��~�t�7K�.L��	
��)�C�)�S�)��)�E�)�d�)�:95�#�96�$�97�(��(�c�(�d�(�$+�:(��'�X%)�&*�	4=��k�k�4=��S�M�4=��s�m�	4=�9899�4=�lK�#�K�$�K�100�f�k�k�101�U0��k�k�U0��U0��	U0�102�%�%�U0�103�
U0�n(��%�%�(�"�3�%��+�.�(�!�	(�104105�(�2106H�c�107H�c�108H�d�109H�110HrErc�*�\rSrSrS\S\SS4SjrSrg)r�iF�errno�messagerNc�@�[R"USU5 Xlg)Nr�)r111�__init__ri)r7rirjs   r;rl�CurlError.__init__Gs�����4��g�.��112rE)ri)rarbrcrdr�rerlrf�rEr;r�r�Fs���c��C��D�rEr��__main__))�__doc__r+r�r�r�rer7rK�ior�tornadorr�tornado.escaperr�tornado.httpclientrr	r113rr�tornado.logr
�typingrrrrr�
TYPE_CHECKINGrr�	getLoggerr��compiler�rr�ra�	configurernrEr;�<module>r|s��� <����
�	������+��� �7�7�
�	���#����6�7���j�j��"��PH�/�PH�f�	���z�����1�2��F�rE
codekingpro/portable-devtools · Team Ai