Team Ai
Datasetpublic

codekingpro/portable-devtools

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

2��j�+��8�SrSSKrSSKrSSKrSSKrSSKJr SSKJr SSKJr SSK	J3r4 SSKJr SSKJ
r
 SS	KJr SS5KJr SSKJr SSKJr SS
KJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr \R>"\ 5r!"SS5r"g)z Write flow objects to a HAR file�N)�Sequence)�datetime)�timezone)�Any)�command)�ctx)�6exceptions)�flow)�7flowfilter)�http)�types)�version)�Loader)�Server)�8_MultiDict)�ALERT)�human)�strutilsc���\rSrSrSSjr\R9"S5S\\RS\	RSS4Sj5rS\\RS\4S	jr
S10\4SjrSrS
\R$SS4SjrS
\R$SS4SjrS
\R$SS4SjrS
\R$SS4SjrSrS
\R$S\\S\4SjrS\R6S\\4SjrS\\\4S\\4Sjr Sr!g)�SaveHar��returnNc� �/UlSUlg�N)�flows�filt)�selfs �^D:\code\apps\devtools\python\user_packages\Python313\site-packages\mitmproxy/addons/savehar.py�__init__�SaveHar.__init__s��&(��11�/3��	�zsave.harr�pathc	��[R"URU5SS9R5nUR	S5(a[12R"US5n[US5nURU5 SSS5 [R"[S[R"[U55S35 g!,(df   NK=f)	z+Export flows to an HAR (HTTP Archive) file.���indentz.zhar�	�wbNzHAR file saved (z bytes).)�json�dumps�make_har�encode�endswith�zlib�compress�open�write�logging�logrr�pretty_size�len)rrr"�har�fs     r�13export_har�SaveHar.export_har#s����j�j����u�-�a�8�?�?�A���=�=��!�!��-�-��Q�'�C�
�$��
��
�G�G�C�L��	���E�-�e�.?�.?��C��.I�-J�(�S�T��
�s�,C�14Cc�0�/nSn[5nUHIn[U[R5(a"UR	URXT55 MDUS-
nMK US:�a[RSUS35 SSS[RSS	./US15.0$)Nr�zSkipped z flows that weren't HTTP flows.r3z1.2�	mitmproxy�)�namer�comment)r�creator�pages�entries)16�set�17isinstancer�HTTPFlow�append�18flow_entry�logger�infor�VERSION)rrrB�skipped�servers_seenr7s      rr+�SaveHar.make_har1s�������%(�E���A��!�T�]�]�+�+����t���q�?�@��1���	��Q�;��K�K�(�7�)�+J�K�L�
� �'�&���!��19�"�	�20�	21r!�loaderc�4�URS[SS5 g)N�hardumpr=z�22            Save a HAR file with all flows on exit.23            You may select particular flows by setting save_stream_filter.24            For mitmdump, enabling this option will mean that flows are kept in memory.25            )�26add_option�str)rrNs  r�load�SaveHar.loadNs��������
�			27r!c��SU;a[[RR(a5[R"[RR5UlOSUlSU;a([RR(d/Ulggg![a%n[R"[U55UeSnAff=f)N�save_stream_filterrP)r�optionsrVr�parser�28ValueErrorr	�OptionsErrorrRrPr)r�updated�es   r�	configure�SaveHar.configureZs����7�*��{�{�-�-�A� *� 0� 0����1O�1O� P�D�I�!��	�����;�;�&�&���29�'� ��"�A�$�1�1�#�a�&�9�q�@��A�s�3B�30C� B;�;Cr31c�B�URcURU5 ggr)�	websocket�32_save_flow�rr33s  r�response�SaveHar.responsehs���>�>�!��O�O�D�!�"r!c�&�URU5 gr)rcrbs  r�error�
SaveHar.errorns���
�
�d�r!c�&�URU5 gr)rarbs  r�
websocket_end�SaveHar.websocket_endqs������r!c���[RR(aJURSL=(d URU5nU(aURRU5 gggr)rrWrPrrrF)rr34�flow_matchess   rra�SaveHar._save_flowtsI���;�;����9�9��,�?��	�	�$��L���35�36�!�!�$�'��r!c�\�[RR(a�[RRS:Xa:URUR5n[[R"USS95 gURUR[RR5 gg)N�-r$r%)	rrWrPr+r�printr)r*r8)rr6s  r�done�SaveHar.donezsg���;�;����{�{�"�"�c�)��m�m�D�J�J�/���d�j�j��Q�/�0�����37�38�C�K�K�,?�,?�@�r!rLc
�8�URU;aSnSnO�URR(a�URR(deSURRURR-39-nURR(a1SURRURR-40-nOSnUR	UR5 OSnSnUR41R(a1SUR42RUR43R-44-nOSnUR(aLUR45R(a1SURRUR46R-47-nOSnUR(aLURR(a1SURRURR-48-nOSnUUUUUS.nUR(Ga�URRn	URR(a[URR5OSn49U	(a[U	5OSnX�-50nURRURRURRURUR5UR!URR"5U51UURR"R%SS5S.URR"R%SS5[['URR"55U52S	.	n
U	(aN[(R*"U	5(a3[,R."U	5R15U
S53S'SU
S54S
'OeURR3SS9nUc	SU
S55S'O@X�S56S'O8SSS//0SSSSSS.n
UR4(aUR4R6U
S'UR57R8S:XaSUR58R:S3nOUR59R:n[<R>"UR60R[@RB5RE5[GSURI555UR61R8UUR62RUR!UR63RJ5UR!UR64R"5UR!UR65RL5[['UR66R"55UR67R(a[UR68R5OSS.U
0US.nUR69R8S;alUR!UR70RN5nUR71R"R%SS5UR72R3SS9US.USS'URRP(a%['URRPS5US'/nURR(a�URRRTH�nURV(a
URXnO.[,R."UR5R15nURZ(aSOS UR\UR^R`US!.nURcU5 M� S"US#'UUS$'U$![a URRn	GNof=f)%zCreates HAR entry from flowg�i�r)�connect�ssl�send�receive�waitzContent-Typer=)�size�compression�mimeType�Location)	�status�73statusText�httpVersion�cookies�headers�content�redirectURL�headersSize�bodySizer��text�base64�encodingF)�strictN�����)r}r~rr�r�r�r�r�r��
_transferSize�_errorr��CONNECTzhttps://�/c3�># �UHocMUS:�dMUv� M g7f)Nr�)�.0�vs  r�	<genexpr>�%SaveHar.flow_entry.<locals>.<genexpr>�s���P�#3�a���a����#3�s���	)�method�urlrr�r��queryStringr�r�)�startedDateTime�time�requestrc�cache�timings)�POST�PUT�PATCH)r{r��paramsr��postData�serverIPAddressrvrw)�typer��opcode�datar`�
_resourceType�_webSocketMessages)2�server_conn�timestamp_tcp_setup�timestamp_start�timestamp_tls_setup�addr��
timestamp_endrcr�rY�raw_contentr5�status_code�reason�http_version�format_response_cookies�format_multidictr��getrRr�
is_mostly_binr��	b64encode�decode�get_textrf�msgr��74pretty_urlr�
fromtimestampr�utc�	isoformat�sum�valuesr��query�urlencoded_form�peernamer`�messages�is_textr��from_client�	timestampr��valuerF)rr75rL�connect_time�ssl_timervrxrwr�r��response_body_size�response_body_decoded_size�response_body_compressionrc�text_contentr��entryr��websocket_messages�messager��websocket_messages                      rrG�SaveHar.flow_entry�s�����|�+��L��H�
�
�
�
1�
1��#�#�3�3�3�3��� � �4�4�t�7G�7G�7W�7W�W��L����3�3���$�$�8�8��&�&�:�:�;���76 �����T�-�-�.��L��H��<�<�%�%��4�<�<�5�5����8T�8T�T�U�D��D��=�=�T�\�\�7�7��4�=�=�8�8�4�<�<�;U�;U�U�V�D��D��=�=�T�]�]�8�8���
�
�+�+�d�m�m�.K�.K�K��G�77�G�$�����,78���=�=�=�
4��-�-�/�/��37�-�-�2K�2K��D�M�M�-�-�.�QR�
�:A��W��a�&�(B�(W�%��-�-�3�3�"�m�m�2�2�#�}�}�9�9��7�7��
�
�F��0�0����1F�1F�G�.�#<� $�
�
� 5� 5� 9� 9�.�"� M��79 $�}�}�4�4�8�8��R�H�"�3�t�}�}�'<�'<�#=�>�.��H��8�1�1�'�:�:�.4�.>�.>�w�.G�.N�.N�.P���#�F�+�2:���#�J�/�#�}�}�5�5�U�5�C���'�24�H�Y�'��/�2>�Y�'��/�� �!����!�!��!"���H��z�z�%)�Z�Z�^�^���"��<�<���)�+��T�\�\�4�4�5�Q�7�C��,�,�)�)�C� (�5�5����,�,�h�l�l� ��i�k��P�7�>�>�#3�P�P��,�,�-�-��#�|�|�8�8��0�0����1E�1E�F��0�0����1E�1E�F�#�4�4�T�\�\�5G�5G�H�"�3�t�|�|�';�';�#<�=��<�<�+�+� ���� 8� 8�9���!���'!80��,�<�<���":�:��*�*�4�<�<�+G�+G�H�F� �L�L�0�0�4�4�^�R�H����-�-�U�-�;� �,�E�)��Z�(����$�$�'*�4�+;�+;�+D�+D�Q�+G�'H�E�#�$����>�>��>�>�2�2���?�?�"�<�<�D�!�+�+�G�O�O�<�C�C�E�D�&-�&9�&9�F�y�#�-�-�%�l�l�0�0� �	%�!�#�)�)�*;�<�3�&1�E�/�"�*<�E�&�'����O�
4��-�-�3�3��
4�s�]5�5 ^�^rcc���URRSS9n/nUHVunupVUUURSS5URSS5SU;SU;S	.nS81U;aUS82US83'URU5 MX U$)z7Formats the response's cookie header to list of cookiesT��multir"r��domainr=�httpOnly�secure)r>r�r"r�r�r��sameSite)r��itemsr�rF)rrc�cookie_list�rvr>r��attrs�cookies        rr��SaveHar.format_response_cookies s����&�&�,�,�4�,�8��
��$/� �D�.�5����	�	�&�#�.��)�)�H�b�1�&�%�/�"�e�+�
�F��U�"�%*�:�%6��z�"��I�I�f��!%0�"�	r!�objc�Z�URSS9VVs/sH	up#X#S.PM snn$s snnf)NTr�)r>r�)r�)rr��kr�s    rr��SaveHar.format_multidict7s,��47�I�I�D�I�4I�J�4I�D�A��'�4I�J�J��Js�')rr)rN)"�__name__�84__module__�__qualname__�__firstlineno__rrrr85�Flowr
�Pathr8�dictr+rrSr]rrErcrfrirarqrCrrG�Response�listr�rrRr��__static_attributes__r�r!rrrs?��4�
�_�_�Z� �U����� 3�U�5�:�:�U�$�U�!�U�86�h�t�y�y�1�87�d�88�:8990�6�9192� �"�T�]�]�"�t�"��$�-�-��D���$�-�-��D��(�t�}�}�(��(�A�\�t�}�}�\�C��K�\�D�\�|��
�
��$�t�*��.K�J�s�C�x�$8�K�T�$�Z�Kr!r)#�__doc__r�r)r2r.�collections.abcrrr�typingrr<rrr	r93rrr
r�mitmproxy.addonmanagerr�mitmproxy.connectionr�mitmproxy.coretypes.multidictr�
mitmproxy.logr�mitmproxy.utilsrr�	getLoggerr�rHrr�r!r�<module>r�sh��&�
����$������ �� ����)�'�4��!�$�	�	�	�8�	$��ZK�ZKr!
codekingpro/portable-devtools · Team Ai