Team Ai
Datasetpublic

codekingpro/portable-devtools

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

2��jG_���SrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJr SSKJ	r	 SSK3Jr SSKJ
r
 SSKJr SS	KJr SS4KJr SSKrSSKJr SSKJr SS
KJr SSKJr SSKJr SSKJr SSKJr SSKJ r  SSKJ!r! SSKJ"r" SSKJ#r# SSKJ$r$ SSKJ%r% SSK&J'r' SSK(J)r) SSK*J+r+ SSK*J,r, SSK-J.r. \R^"\05r1Sr2"SS5r3\
"S S!55r4"S"S#\RjS$9r6"S%S&\6\RjS$9r7"S'S(\75r8\0S):XGa\Rr"5r:\Rv"5r<\<R{S*\>S+S,5 \<R{S-\?S.S/S0S19 \<R{S2\>S+S35 S4r@\R�"\@S5S6\:S79rB\:R�\B5rD\DR�(de\F"S8\,R�"\DR�SR�5535 \:R�5 \DR�5 \:R�\DR�55 \:R�5 gg!\Ja NIf=f)9a?5Proxy Server Implementation using asyncio.6The very high level overview is as follows:7 8    - Spawn one coroutine per client connection and create a reverse proxy layer to example.com9    - Process any commands from layer (such as opening a server connection)10    - Wait for any IO and send it as events to top layer.11�N)�	Awaitable)�Callable)�MutableMapping)�contextmanager)�	dataclass)�
TracebackType)�Literal)�SSL)�http)�options)�tls)�Address)�Client)�12Connection)�ConnectionState)�commands)�events)�layer)�layers)�13mode_specs)�server_hooks)�Context)�HTTPMode)�
asyncio_utils)�human)�pkg_data�c��\rSrSr%\\S'\\S'\R\S'\\S'S\S\	/\1444SjrSrS	r
\S155rSrg)
�TimeoutWatchdog�2�
last_activity�timeout�can_timeout�blocker�callbackc���XlX l[R"5Ul[R16"5UlURR5 SUlg)Nr)	r"r%�timer!�asyncio�Eventr#�setr$)�selfr"r%s   �\D:\code\apps\devtools\python\user_packages\Python313\site-packages\mitmproxy/proxy/server.py�__init__�TimeoutWatchdog.__init__8sA���� �
�!�Y�Y�[���"�=�=�?������������c�8�[R"5Ulg�N)r'r!�r+s r,�register_activity�!TimeoutWatchdog.register_activity@s��!�Y�Y�[��r/c��# �URR5IShv�N [R"UR[17R18"5UR-19-205IShv�N URUR-[21R22"5:aUR5IShv�N gM�N�NQN![Ra gf=f7fr1)	r#�waitr(�sleepr"r'r!r%�CancelledErrorr2s r,�watch�TimeoutWatchdog.watchCs����	���&�&�+�+�-�-�-��m�m�D�L�L�D�I�I�K�$�BT�BT�4T�$U�V�V�V��%�%����4�t�y�y�{�B��-�-�/�)�)���-�V�)���%�%�	��	�s^�C�C�B=�A23C�-B?�.AC�5C�6C�:C�;C�?C�C�C�C�C�Cc#�# �URR5 U=RS-
slSv� U=RS-slURS:Xa+UR5 URR	5 gg!U=RS-slURS:Xa+UR5 URR	5 ff=f7f)N�r)r#�clearr$r3r*r2s r,�disarm�TimeoutWatchdog.disarmNs��������� �������	'���L�L�A��L��|�|�q� ��&�&�(�� � �$�$�&�!��
�L�L�A��L��|�|�q� ��&�&�(�� � �$�$�&�!�s�0C�B�AC�AC�C)r$r%r#r!r"N)�__name__�24__module__�__qualname__�__firstlineno__�float�__annotations__�intr(r)rrr-r3r9rr>�__static_attributes__�r/r,rr2sV����
�L�����
�L����x��I�
�/F��)�	��	'��	'r/rc���\rSrSr%Sr\RS-\S'Sr\R\25R-S-\S'Sr\R\26R-S-\S'Srg)�ConnectionIO�[N�handler�reader�writerrH)r@rArBrCrLr(�TaskrErM�StreamReader�mitmproxy_rs�StreamrN�StreamWriterrGrHr/r,rJrJ[sU��#'�G�W�\�\�D�
 �'�@D�F�G� � �<�#6�#6�6��=�D�@D�F�G� � �<�#6�#6�6��=�Dr/rJc�>�\rSrSr%\\\4\S'\\S'\	\S'\27R\\
R4\S'S\S'\\
R \S'S	\S28S4SjrS#S
jrS\R*S29S4SjrS\R.S30S4SjrS\S31S4SjrSrS#SjrS\R8S32S4Sjr\R>S\R8S33S4Sj5r \!RDS4S\#S\$S\%S\&\'\(\(\)S-4-S-S34S4Sjjr*S\+RXS35S4Sjr-S$S\S \.S36S4S!jjr/S"r0g)%�ConnectionHandler�b�37transports�timeout_watchdog�client�	max_connszlayer.Layerr�wakeup_timer�context�returnNc���URUl0Ul[R"S5Ul[5Ul[R"USS9UlURRS:XaURRnO[n[X R5Ul[ R""5Ul[ R""5Ulg)Nc�.�[R"S5$)N�)r(�	SemaphorerHr/r,�<lambda>�,ConnectionHandler.__init__.<locals>.<lambda>ms���9J�9J�1�9Mr/T)�ask_on_start�tcp)rYrW�collections�defaultdictrZr*r[r�	NextLayer�transport_protocolr�tcp_timeout�UDP_TIMEOUTr�38on_timeoutrXr(�Lock�_server_event_lock�_drain_lock)r+r\r"s   r,r-�ConnectionHandler.__init__js����n�n������$�0�0�1M�N����E���39�_�_�W�4�@��40��;�;�)�)�U�2��o�o�1�1�G�!�G� /���� I���")�,�,�.���#�<�<�>��r/c��@# �[R"SURRS9 [R"UR41R
5SSURRS9nURS5 UR[R"UR55IShv�N URR(a[URS5 URRUR5RnU(deUR5 GOUR!["R$"55IShv�N [R"UR'UR5SSURRS9nX0RURl[*R,"U/5IShv�N UR/5(dNUR15=n(a7URS	U3[2R4[7U5XDR84S429 UR;5 UR<(a=UR<R5nUR;5 UR<(aM=URS5 [>R>"5URl UR[RB"UR55IShv�N UR(a�URS[2RD5 URRG5H1nUR((dMUR(R;S
5 M3 [*R,"URRG5Vs/sH!owR((dMUR(PM# sn5IShv�N URS[2RD5 ggGNYGN�GN=GNs snfN77f)Nzclient handler)�namerYztimeout watchdogF�rr�keep_refrYzclient connectzclient kill connectionzclient connection handlerz connection handler has crashed: ��exc_infozclient disconnectzclosing transports...zclient disconnectedztransports closed!)$r�set_current_task_debug_inforY�peername�create_taskrXr9�log�handle_hookr�ClientConnectedHook�errorrW�poprN�close�server_eventr�Start�handle_connectionrLr(r6�	cancelled�	exception�logging�ERROR�type�
__traceback__�cancelr[r'�
timestamp_end�ClientDisconnectedHook�DEBUG�values)r+r9rNrL�e�timer�io�xs        r,�
handle_client�ConnectionHandler.handle_clients�����1�1�!��;�;�'�'�	43��)�)��!�!�'�'�)�#���;�;�'�'�	44��	
���!�"����|�?�?����L�M�M�M��;�;����H�H�-�.��_�_�(�(����5�<�<�F��M�6��L�L�N��#�#�F�L�L�N�3�3�3�#�/�/��&�&�t�{�{�3�0���{�{�+�+�	�G�4;�O�O�D�K�K�(�0��,�,��y�)�)�)��$�$�&�&��1B�1B�1D�,D�A�,D����6�q�c�:��M�M�"�1�g�q�/�/�:���	��������%�%�)�)�+�E��L�L�N�����	
���$�%�$(�I�I�K����!����|�B�B�4�;�;�O�P�P�P��?�?��H�H�,�g�m�m�<��o�o�,�,�.���:�:�:��J�J�%�%�&;�<�/��,�,�$(�O�O�$:�$:�$<�J�$<�q�	�	�����$<�J��
�
�
�H�H�)�7�=�=�9��A	N�
4�
*�	Q��K�
�s~�B0P�2P�3B!P�P�A?P�P�CP�A'P�P�A!P�'AP�2P�45P�46P�$P�%'P�P�P�P�P�commandc���
# �URR(d@URS5 UR[R47"US55IShv�N g[R"URURS9nUR[R"U55IShv�N URR=n(a�URS[R"URR5SU35 UR[R"U55IShv�N UR[R48"USU355IShv�N gURURRIShv�N [ R "5URlURR$S:XaI[&R("URRSURR*06IShv�NupEO�URR$S:XaR[,R.R0"URRSURR*06IShv�N=pEO[3URR$5eURR$S:Xa$[ R "5URl[6R8URlUR=S	5URlUR=S495URl[A[&RB"5UUS9URDUR'URR>(deURRSURR>S:waY[R"URR5S
[R"URR>5S3nO*[R"URR5nURSU35 UR[RF"U55IShv�N UR[R50"US55IShv�N URIUR5IShv�N URSU35 [ R "5URl%UR[RL"U55IShv�N SSS5IShv�N gGNGN�GN+GN�GN�GNQGN�N�N�N�N0!URSU35 [ R "5URl%UR[RL"U55IShv�N f=f![N[&RP4a�n[SU5nU(dSnURSU35 X1RlUR[R"U55IShv�N UR[R51"X55IShv�N [UU[&RP5(aeSnAGNmSnAff=fGNj!,IShv�N(df   g=f7f)Nz*Cannot open connection, no hostname given.)rY�serverzserver connection to z killed before connect: zConnection killed: re�52local_addr�udprx�sockname�rLrMrNrz (�)zserver connect zserver disconnect zconnection cancelledz&error establishing server connection: )+�53connection�addressrzr�r�OpenConnectionCompletedr�ServerConnectionHookDatarYr{�ServerConnectHookr}r�format_address�ServerConnectErrorHookrZr'�timestamp_startrir(�open_connectionr�rQr��open_udp_connection�AssertionError�timestamp_tcp_setupr�OPEN�state�get_extra_inforxrJ�current_taskrW�ServerConnectedHookr�r��ServerDisconnectedHook�OSErrorr8�str�54isinstance)r+r��	hook_data�errrMrN�addrr�s        r,r��!ConnectionHandler.open_connection�s�����!�!�)�)��H�H�A�C��#�#��.�.��I���
�
�55
� �9�9��;�;�w�'9�'9�56�	����|�=�=�i�H�I�I�I��$�$�*�*�*�3�*��H�H�'��(<�(<�W�=O�=O�=W�=W�(X�'Y�Yq�ru�qv�w�
��"�"�<�#F�#F�y�#Q�R�R�R��#�#��.�.�w�:M�c�U�8S�T��
�
�
��>�>�'�"4�"4�"<�"<�=�=�8
�59�Y�Y�[��"�"�2��%�%�8�8�E�A�+2�+B�+B� �+�+�3�3�,�#*�#5�#5�#>�#>�,�&�N�F�F��'�'�:�:�e�C�,8�,<�,<�,P�,P� �+�+�3�3�-�#*�#5�#5�#>�#>�-�'��F�V�57)��);�);�)N�)N�O�O��%�%�8�8�E�A�=A�Y�Y�[�G�&�&�:�+:�+?�+?��"�"�(�.4�.C�.C�J�.O��"�"�+�.4�.C�.C�J�.O��"�"�+�6B�#�0�0�2�!�!�7����� 2� 2�3��)�)�2�2�2�2��%�%�-�-�a�0�G�4F�4F�4O�4O�PQ�4R�R�#�2�2�7�3E�3E�3M�3M�N�O�r�RW�Rf�Rf�gn�gy�gy�hC�hC�SD�RE�EF�G�D� �/�/��0B�0B�0J�0J�K�D����?�4�&�1�2��&�&�|�'G�'G�	�'R�S�S�S��'�'��(F�(F�w�PT�(U�V�V�V���0�0��1C�1C�D�D�D��H�H�1�$��8�9�7;�y�y�{�G�&�&�4��*�*�$�;�;�I�F����s>�=�=�+
�	J�58
S�
�59>�&�60'�LT�V�E����H�H�1�$��8�9�7;�y�y�{�G�&�&�4��*�*�$�;�;�I�F�����Q�W�3�3�4�
��!�f���0�C����A�#��G�H�+.�"�"�(��&�&�|�'J�'J�9�'U�V�V�V��'�'��(F�(F�w�(T�U�U�U��a��!7�!7�8�8��	9��
��#>�=�=�=�sj�A[�U�A[�/U �0B[�8U#�90[�)U&�*,[�U)�[�[�A?W%�U,�A,W%�U/�	%W%�.G"[�U2�-[�>U4�?[�U:�"U6�#U:�'A [�U8�[�[�[�[� [�#[�&[�)[�,W%�/W%�2[�4[�6U:�8[�:A!W"�W61�W"�"[�%Z>�?A Z9�Y"� -Z9�
Z�%Z9�3[�9Z>�>[�[�[�62[
�[�[�requestc��(# �[R"UR5IShv�N [R"5nUceURRU5 UR
[R"U55IShv�N gNgN7fr1)	r(r7�delayr�r[�discardr�r�Wakeup)r+r��tasks   r,�wakeup�ConnectionHandler.wakeupsp����m�m�G�M�M�*�*�*��#�#�%���������!�!�$�'�����
�
�g� 6�7�7�7�		+�	8�s"�$B�B�A!B�B�	B�Br�c��# �SnURURnU(deURS5IShv�NnU(d[S5eUR
[R"X55IShv�N UR5IShv�N MuN_![a OI[R63anUnSnAO/SnAff=fNON8![R64anUnSnAOSnAff=fUc5URS:Xa%U=R[R)-slO[RUlUR
[R"U55IShv�N UR[R LaQ[R""5R%5IShv�N O#![R65anUnSnAOSnAff=fURUR&nU(deUR)5 O![a Of=fURR+U5 U(aUeg7f)z�66Handle a connection for its entire lifetime.67This means we read until EOF,68but then possibly also keep on waiting for our side of the connection to be closed.69Ni��zConnection closed by peer.re)rWrM�readr�r(r8r�r�DataReceived�
drain_writersrir�r�CAN_READ�CLOSED�ConnectionClosed�	CAN_WRITEr)r6rNrr~)r+r�r�rM�datar�rNs       r,r��#ConnectionHandler.handle_connections�����	�����,�3�3���
�v��
�#�[�[��/�/���!�">�?�?���#�#�F�$7�$7�70�$I�J�J�J�
��(�(�*�*�*��/���
���)�)�
��	���
��
K�+���)�)�
��	���
�����!>�!>�%�!G�����!9�!9� 9�9��.�5�5�J������ 7� 7�71� C�D�D�D�����8�8�8�
��m�m�o�*�*�,�,�,���)�)�
��	��
��	��_�_�Z�0�7�7�F��M�6��L�L�N���	��	�������J�'���O��s��&I�B�B�B�)I�=C
�>I�C�C�C�I�B�72C73�)I�+C74�>C�I�C75�76I�C�C1�%C,�'I�,C1�1A8I�)E,�*"I�
&F:�3F6�4F:�9I�:G�G�I�G�I�2H�I�77H�I�H�(Ic���# �URIShv�N [URR55H5nURcMURR5IShv�N M7 SSS5IShv�N gNqN![a<nURb$URRSU35 SnAM�SnAM�SnAff=fNR!,IShv�N(df   g=f7f)z�78Drain all writers to create some backpressure. We won't continue reading until there's space available in our79write buffers, so if we cannot write fast enough our own read buffers run full and the TCP recv stream is throttled.80NzError sending data: )	ro�listrWr�rN�drainr�rLr�)r+�	transportr�s   r,r��ConnectionHandler.drain_writersJs����81�#�#�#�!�$�/�/�"8�"8�":�;�	��#�#�/�Q�'�.�.�4�4�6�6�6�<�$�#�#�7��"�Q�$�,�,�8�%�-�-�4�4�7K�A�3�5O�P�P�9��Q��$�#�#�#�s��C.�B�C.�2C�B	�+B�,B	�0C�4C.�?C�C.�B	�	82C�+C83�>C�84C�C�C.�C+�C�C+�'C.c��# �URURRnURRS:XaUR	SUR35 U(deURS5 g![a gf=f7f)Nrez&Closing connection due to inactivity: r")rWrYrLrirzr��KeyError)r+rLs  r,rl�ConnectionHandler.on_timeoutXst���		&��o�o�d�k�k�2�:�:�G�85�{�{�-�-��6����A�$�+�+��O�P��N�7��N�N�9�%���	��	�s(�B86�#A:�AB87�:88B�B89�B�B90�hookc���# �URU5IShv�N UR(a.UR[R"U55IShv�N ggNDN7fr1)r{�blockingr�r�
HookCompleted�r+r�s  r,�	hook_task�ConnectionHandler.hook_taskdsL������t�$�$�$��=�=��#�#�F�$8�$8��$>�?�?�?��	%�?�s!�A �A�=A �A�A �A c��# �g7fr1rHr�s  r,r{�ConnectionHandler.handle_hookis����s��message�levelrvTc�Z�[RX!SURR0US9 g)NrY)�extrarv)�loggerrzrYrx)r+r�r�rvs    r,rz�ConnectionHandler.logms+��	�91�92��8�T�[�[�-A�-A�"B�X�	�	93r/�eventc	���# �URIShv�N URR5 URR	U5nUGH=n[U[R5(a�URUR;de[R"URU5SURR3SURRS9n[!US9URUR'M�[U[R"5(al[R"UR%U5SUR&SS3SURRS9nUceUR(R+U5 GM=[U[R,5(aURUR;aGMy[U[R.5(abURURR0nU(deUR35(dUR5UR65 GM�GM�[U[R85(a)UR;URUR<5 GMB[U[R>5(aUR;URS5 GM�[U[R@5(aK[R"URCU5SURDS	3S94URRS9 GM�[U[RF5(a)URIURJURL5 GM2[OSU35e SSS5IShv�N gGN�![Pa" URIS[RRTS95S
9 N?f=fN7!,IShv�N(df   g=f7f)Nzserver connection handler Frs)rLzwakeup timer (z.1fzs)zhandle_hook(r�TzUnexpected command: zmitmproxy has crashed!ru)+rnrXr3r�handle_eventr�r�OpenConnectionr�rWrryr�r�rYrxrJ�
RequestWakeupr�r�r[�add�ConnectionCommand�SendDatarN�96is_closing�writer��CloseTcpConnection�close_connection�97half_close�CloseConnection�	StartHookr�rr�Logrzr�r��RuntimeError�	Exceptionr�r�)r+r��layer_commandsr�rLr�rNs       r,r��ConnectionHandler.server_eventys�����*�*�*�
�!�!�3�3�5�1
R�!%���!8�!8��!?��-�G�!�'�8�+B�+B�C�C�&�1�1����H�H�H�"/�";�";� �0�0��9�#=�g�>P�>P�>X�>X�=Y�!Z�%*�#'�;�;�#7�#7�	#��?K�$+�?�����(:�(:�;�$�G�X�-C�-C�D�D�,�8�8� �K�K��0�#1�'�-�-��1D�B�!G�%*�#'�;�;�#7�#7�	 �� $�/�/�/��)�)�-�-�d�3�"�7�H�,F�,F�G�G�#�.�.�d�o�o�E��#�G�X�->�->�?�?�!%����1C�1C�!D�!K�!K��%�
�v�%�0�0�2�2�"�L�L����6� 3�#�G�X�-H�-H�I�I��-�-�g�.@�.@�'�BT�BT�U�#�G�X�-E�-E�F�F��-�-�g�.@�.@�%�H�#�G�X�-?�-?�@�@�%�1�1� �N�N�7�3�#/����~�Q�!?�%)�#'�;�;�#7�#7�	�$�G�X�\�\�:�:�������'�-�-�@�*�-A�'��+K�L�L�[ .�
+�*�*��h�
R����1�G�M�M�D��Q�
R��i+�*�*�*�sb�O1�N#�O1�O�MN&�O1�O�O1�&)O�O�O�O�O1�O.�O �O.�*O1r�c��U(a�UR[R-(dgURSU3[R985 URURnU(deUR5(dUR5 U=R[R)-slO[RUlUR[RLa4URURnU(deURS5 gg![a [RUlNsf=f)Nz
half-closing zclosed by command)r�rr�rzr�r�rWrNr��	write_eofr�r�rLr�)r+r�r�rNrLs     r,r��"ConnectionHandler.close_connection�s�����#�#�o�&?�&?�?���H�H�}�Z�L�1�7�=�=�A�	
?�����4�;�;���
�v��(�(�*�*��$�$�&�99� � �_�%>�%>�$>�>� �.�5�5�J������5�5�5��o�o�j�1�9�9�G��N�7��N�N�.�/�6���
:�#2�#9�#9�100� �
:�s�AD"�"E�E)rornrYrrZrXrWr[)r]N)F)1r@rArBrCrrrJrErrrfrgrr(rar*rOrr-r�rr�r�r�r�r�r�rlr�r��abc�abstractmethodr{r��INFOr�rFr	�tupler��
BaseExceptionrrzrr)r��boolr�rGrHr/r,rUrUbs����z�<�7�8�8�%�%��N��&�&�w��0A�0A�'A�B�B����g�l�l�#�#�*��*�D�*�*5:�nS�X�-D�-D�S��S�j8�H�$:�$:�8�t�8�6�*�6��6�pQ�101&�@�H�$6�$6�@�4�@�102	���
�h�&8�&8�
�T�
��
��\�\��
103104��105106��107108��$�-�109��]�#�]�M�D�4H�H�110I�J�111��	112113�114�115116�<R����<R��<R�~:?�0�$�0�26�0�	
�0�0r/rU)�	metaclassc117��^�\rSrSrS\R118\R-S\R\R-S\	RS\RSS4119U4Sjjr
S	rU=r$)120�LiveConnectionHandleri�rMrNr�moder]Nc	�">�[URSS5URS5URS5[R"5U[RS9n[XS5n[TU]U5 [SXS9URU'g)Nrirerxr�)rirxr�r��121proxy_moder�r�)122rr�r'rr�r�superr-rJrW)r+rMrNrr�rYr\�	__class__s       �r,r-�LiveConnectionHandler.__init__�s�����%�4�4�5I�5�Q��*�*�:�6��*�*�:�6� �I�I�K��!�&�&�
123���&�*��
����!�".���#124�����r/rH)r@rArBrCr(rPrQrRrS�moptions�Optionsr�	ProxyModer-rG�
__classcell__�rs@r,r�r��sk���125��$�$�|�':�':�:�126��$�$�|�':�':�:�127��!�!�	128�129�"�"�130�131�
132�133r/r�c�h^�\rSrSr%Sr\\\4\S'U4Sjr	S\134RSS4SjrS	r
U=r$)135�SimpleConnectionHandleri�z6Simple handler that does not really process any hooks.�
hook_handlersc�2>�[TU]XX45 XPlgr1)rr-r)r+rMrNrr�rrs      �r,r-� SimpleConnectionHandler.__init__�s���
�����7�*�r/r�r]Nc��# �URUR;a+URUR"UR56 gg7fr1)rrr�argsr�s  r,r{�#SimpleConnectionHandler.handle_hook�s9����9�9��*�*�*����t�y�y�)�4�9�9�;�7�+�s�AA	)r)r@rArBrC�__doc__�dictr�rrEr-rr�r{rGrrs@r,r136r137�s8���@���X�
�&�&�+�8�h�&8�&8�8�T�8�8r/r138�__main__�store_streamed_bodiesF��connection_strategy�lazyz8Determine when server connections should be established.)�eagerr)�choices�keep_host_headerz{139        Reverse Proxy: Keep the original host header instead of rewriting it140        to the reverse proxy target.141        c��b^# �SS/mS[R4U4SjjnS[R4SjnS[R1424SjnS[R1434S	jn[
UU[[RRS1445UUUUS.5R5IShv�N gN7f)Nc�@�[RRU5$r1)r�modes�ReverseProxy��ctxs r,rb�handle.<locals>.<lambda>s�����1�1�#�6r/c�L�[R"U[R5$r1)r�	HttpLayerr�transparentrs r,rbr!s���(�(��h�.B�.B�Cr/�nlc�>�TRS5"UR5nS[URR5-UlXlg)Nrz  )r~r\�lenr�debugr)r%�layr�layer_stacks  �r,�145next_layer�handle.<locals>.next_layers:����?�?�1�%�b�j�j�1�D���B�J�J�$5�$5� 6�6�D�J��Hr/�flowc�f�SURR;a<[RR	SSURR14635UlSURR;a�URRRS5(a6URRRSS5URlO5URRRSS5URlSURR;aSURl147gg)	N�cachedi�z	(cached) z148toggle-tlszhttps://zhttp://�redirectzhttpbin.org)r��pathr�Response�make�text�response�url�149startswith�replace�host)r-s r,r��handle.<locals>.request"s����4�<�<�,�,�,� $�
�
� 2� 2�3�)�D�L�L�DU�DU�CV�8W� X��
��t�|�|�0�0�0��<�<�#�#�.�.�z�:�:�'+�|�|�'7�'7�'?�'?�150�I�'V�D�L�L�$�'+�|�|�'7�'7�'?�'?�	�:�'V�D�L�L�$��T�\�\�.�.�.�$1����!�/r/�	tls_startc�J�[R"[R5nUR[R151"S55 UR
[R152"S55 [R"U5UlURR5 g)Nz9../test/mitmproxy/data/verificationcerts/trusted-leaf.keyz9../test/mitmproxy/data/verificationcerts/trusted-leaf.crt)153r154r�
SSLv23_METHOD�use_privatekey_filerr1�use_certificate_chain_filer�ssl_conn�set_accept_state�r;�ssl_contexts  r,�tls_start_client� handle.<locals>.tls_start_client-sw���+�+�c�&7�&7�8�K��+�+��
�
�O��
�155
�2�2��
�
�O��
�156"%����!<�I�����/�/�1r/c��[R"[R5n[R"U5UlURR5 URRRbHURRURRRR55 ggr1)r157rr=rr@�set_connect_stater\rY�sni�set_tlsext_host_name�encoderBs  r,�tls_start_server� handle.<locals>.tls_start_server=s����+�+�c�&7�&7�8�K�!$����!<�I�����0�0�2�� � �'�'�+�+�7��"�"�7�7��%�%�,�,�0�0�7�7�9��8r/zreverse:http://127.0.0.1:3000/)r+r�rDrK)rrhr�HTTPFlowr
�TlsDatar158�optsrr�parser�)rMrNr+r�rDrKr*s      @r,�handlerQs�����
7�C�
159��	�5�?�?�	�160		2�$�-�-�		2�	2����	2� 	����	�&����� � �&�&�'G�H�(�"�$4�$4�	
�161��-�/�	�	�s�B$B/�'B-�(B/z	127.0.0.1i�)�loopzServing on )Mrr�r(rfr�r'�collections.abcrrr�162contextlibr�dataclassesr�typesr�typingr	�OpenSSLr163rQ�	mitmproxyrrrr
�mitmproxy.connectionrrrr�mitmproxy.proxyrrrrrr�mitmproxy.proxy.contextr�mitmproxy.proxy.layers.httpr�mitmproxy.utilsrr�mitmproxy.utils.datar�	getLoggerr@r�rkrrJ�ABCMetarUr�r164�get_event_looprRrrO�165add_optionr�r�rQ�start_server�coro�run_until_completer��sockets�printr��getsockname�run_forever�KeyboardInterruptr�wait_closedrHr/r,�<module>rms��������%�$�*�%�!������)��(�'�+�0�$�"�!�"�&�(�+�0�)�!�)�	�	�	�8�	$����&'�&'�R�E�E��E�l0�#�+�+�l0�^166�-����167�.8�3�8��z���!�!�#�D�����D��O�O���
�168�	�	�O�O����B�!���	�O�O���
�	�	�?�B�����T��E�D�
�
$�
$�T�
*�F��>�>��>�	�K��,�,�V�^�^�A�->�-J�-J�-L�M�N�169O�P�
�����170�L�L�N����F�.�.�0�1��J�J�L�Y��L�
��
�s�+H<�<I�I
codekingpro/portable-devtools · Team Ai