� K�g =���ddlmZddlZddlZddlZddlZddlZddlZddl Zddl Z ddl Z ddl Z ddlZ ddlZ ddlmZddlmZddlmZddlmZejrddlZd�d �Zd�d�Zd�d�d�Zd�d�Zd�d�d�Zd�d�Zd�d �Z ej!ej!e"e"fd!fZ#ej!e#d!fZ$ej%e"ej&e"e$e#ffZ'd�d$�Z( d�d�d)�Z)d�d,�Z*d�d3�Z+d�d4�Z,d�d5�Z-ej.d�6��ej/d7e"�8��ej0d9d:d;e"d<�=��ej0d>d?d@e"e"fdAdB�C��ej0dDdEdFe"dG�=��ej0dHdIdJe"e"fdAdK�C��ej0dLdMdNe"ej1dO�P��fdAdQ�C��ej0dRdSdTe"e+dU�V��ej0dWdXde"e"fdAdY�C��ej0dZd[e"e"fdAd\�C��ej0d]d^e"e"fd_e,d`�a��ej0dbdce"ddd�e��ej0dfdge2dhdi�e��ej0djdkdAddl�m��ej0dndodAdAdp�m��ej0dqde3dAddr�s��ej0dtej1du��dv�=��ej0dwdxe3dAddy�s��ej0dzdAdAde-d{�|��d�d����������������������������������������Z4dS)��)� annotationsN�)�Client)� RequestError)�Response)�codes�return�Nonec��tj���}|�dd���|���|�dd���|���|�dd���|���tjj�dd� ��}|�d ddd � ��|�d ��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�d d!��|�d"d#��|�d$d%��|�d&d'��|�d(d)��|�d*d+��|�d,d-��|�d.d/��|�|��dS)0Nz[bold]HTTPX :butterfly:�center)�justifyzA next generation HTTP client.z7Usage: [bold]httpx[/bold] [cyan]<URL> [OPTIONS][/cyan] �leftrT)�padding�pad_edge� Parameter�bold)�no_wrapr �style� Descriptionz-m, --method [cyan]METHODz{Request method, such as GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD. [Default: GET, or POST if a request body is included]z#-p, --params [cyan]<NAME VALUE> ...�/Query parameters to include in the request URL.z-c, --content [cyan]TEXT�,Byte content to include in the request body.z!-d, --data [cyan]<NAME VALUE> ...�)Form data to include in the request body.z%-f, --files [cyan]<NAME FILENAME> ...�*Form files to include in the request body.z-j, --json [cyan]TEXT�)JSON data to include in the request body.z$-h, --headers [cyan]<NAME VALUE> ...�/Include additional HTTP headers in the request.z --cookies [cyan]<NAME VALUE> ...�"Cookies to include in the request.z--auth [cyan]<USER PASS>��Username and password to include in the request. Specify '-' for the password to use a password prompt. Note that using --verbose/-v will expose the Authorization header, including the password encoding in a trivially reversible format.z--proxy [cyan]URL�ISend the request via a proxy. Should be the URL giving the proxy address.z--timeout [cyan]FLOAT�zTimeout value to use for network operations, such as establishing the connection, reading some data, etc... [Default: 5.0]�--follow-redirects�Automatically follow redirects.� --no-verify�Disable SSL verification.�--http2�@Send the request using HTTP/2, if the remote server supports it.z--download [cyan]FILE�?Save the response content as a file, rather than displaying it.z -v, --verbosez1Verbose output. Show request as well as response.�--help�Show this message and exit.) �rich�console�Console�print�table�Table�grid� add_column�add_row)r*r-s �[/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/httpx/_main.py� print_helpr3s����l�"�"�$�$�G� �M�M�+�X�M�>�>�>� �M�M�O�O�O� �M�M�2�H�M�E�E�E� �M�M�O�O�O� �M�M�A�6����� �M�M�O�O�O� �J� � !� !�!�d� !� ;� ;�E� ���[�$��f��M�M�M� ���]�#�#�#� �M�M�#� @����  �M�M�-�9���� �M�M�"�$R���� �M�M�+�-X���� �M�M�/�4���� �M�M�)�+V�W�W�W� �M�M�.�9���� �M�M�*�,P���� �M�M�"� -���� �M�M��S����  �M�M�� @����  �M�M�&�(I�J�J�J� �M�M�-�!<�=�=�=� �M�M��U���� �M�M��I����  �M�M�/�#V�W�W�W� �M�M�(�9�:�:�:� �M�M�%�������responser�strc�B�|j�d��}|��|�d��\}}} tjt t j�|� ����j ��S#t j j $rYnwxYwdS)Nz Content-Type�;�) �headers�get� partition�typing�castr6�pygments�lexers�get_lexer_for_mimetype�strip�name�util� ClassNotFound)r5� content_type� mime_type�_s r2�get_lexer_for_responserIgs����#�'�'��7�7�L���&�0�0��5�5�� �1�a� ��;��X�_�;�;�I�O�O�<M�<M�N�N�S��� ���}�*� � � � �D� ���� �2s�A B�B�BF�request�httpcore.Request�http2�boolc����rdnd}�fd�|jD��}|j�d��}|jj�d��}|�d|�d|��gd�|D��z}d�|��S)NzHTTP/2zHTTP/1.1c�J��g|]\}}�r|���n||f�� S�)�lower)�.0rC�valuerLs �r2� <listcomp>z*format_request_headers.<locals>.<listcomp>vs@������5@�T�5�� (�������D�%�0���r4�ascii� c�n�g|]2\}}|�d���d|�d������3S�rU�: ��decode�rRrCrSs r2rTz*format_request_headers.<locals>.<listcomp>{�O��0�0�0�?J�t�U�4�;�;�w� � �:�:�5�<�<��#8�#8�:�:�0�0�0r4� )r:�methodr[�url�target�join)rJrL�versionr:r_ra�liness ` r2�format_request_headersrets�����/�h�h�Z�G�����DK�O����G��^� "� "�7� +� +�F� �[� � &� &�w� /� /�F�� +� +�� +� +�'� +� +� ,�0�0�NU�0�0�0� �E� �9�9�U� � �r4� http_version�bytes�status�int� reason_phrase� bytes | Noner:�list[tuple[bytes, bytes]]c���|�d��}|�tj|��n|�d��}|�d|�d|��gd�|D��z}d�|��S)NrUrVc�n�g|]2\}}|�d���d|�d������3SrXrZr\s r2rTz+format_response_headers.<locals>.<listcomp>�r]r4r^)r[r�get_reason_phraserb)rfrhrjr:rc�reasonrds r2�format_response_headersrq�s��� �!�!�'�*�*�G� � � ���'�'�'� � !� !�'� *� *� � � +� +�&� +� +�6� +� +� ,�0�0�NU�0�0�0� �E� �9�9�U� � �r4c�D�tj���}t||���}tj�|ddd���}|�|��tj�dddd���}|�|��dS)N�rL�http� ansi_darkT��theme� word_wrapr9)r)r*r+re�syntax�Syntaxr,)rJrLr*� http_textrys r2�print_request_headersr|�s����l�"�"�$�$�G�&�w�e�<�<�<�I� �[� � � �6��PT� � U� U�F� �M�M�&���� �[� � ��F�+�� � N� N�F� �M�M�&�����r4c�F�tj���}t||||��}tj�|ddd���}|�|��tj�dddd���}|�|��dS)NrtruTrvr9)r)r*r+rqryrzr,)rfrhrjr:r*r{rys r2�print_response_headersr~�s��� �l�"�"�$�$�G�'� �f�m�W�U�U�I� �[� � � �6��PT� � U� U�F� �M�M�&���� �[� � ��F�+�� � N� N�F� �M�M�&�����r4c���tj���}t|��}|r�|���dkrC |���}t j|d���}n#t$r |j}Yn wxYw|j}tj � ||dd���}|� |��dS|� dt|j ���d���dS) N�json�)�indentruTrv�<z bytes of binary data>)r)r*r+rIrQr��dumps� ValueError�textryrzr,�len�content)r5r*� lexer_name�datar�rys r2�print_responser��s����l�"�"�$�$�G�'��1�1�J�� I� � � � � �� '� '� %��}�}�����z�$�q�1�1�1����� %� %� %��}���� %�����=�D���#�#�D�*�K�SW�#�X�X��� � �f������� � �G�#�h�.�/�/�G�G�G�H�H�H�H�Hs� *A4�4B�B.�cert�_PeerCertRetDictTypec �B�g}|���D]�\}}t|ttf��r�|�d|�d���|D]�}|dvr-|D])}|�d|d�d|d�����*�3t|t��r;t |��dkr(|�d|d�d|d������|�d|��������|�d|�d|������d �|��S) Nz* �:)�subject�issuerz* rrYr�r^)�items� isinstance�list�tuple�appendr�rb)r�rd�keyrS�item�sub_items r2�format_certificater��s]�� �E��j�j�l�l� 2� 2� ��U� �e�d�E�]� +� +� 2� �L�L������ '� '� '�� 4� 4���/�/�/�$(�N�N��� � �%L�h�q�k�%L�%L�X�a�[�%L�%L�M�M�M�M�N���e�,�,�4��T���a����L�L�!@�$�q�'�!@�!@�T�!�W�!@�!@�A�A�A�A��L�L�!2�$�!2�!2�3�3�3�3� 4� �L�L�0��0�0�u�0�0� 1� 1� 1� 1� �9�9�U� � �r4rC�info�typing.Mapping[str, typing.Any]�verbosec�4�tj���}|dkr$|r"|d}|�d|����dS|dkrH|rF|d}|�d��}|�d|d�d |d ����dS|d kr�|r�|d}|�d ��}|���}|���} |���} |���} |�d |�d| d����|�d| ����| r9|�d��|�t| ����dSdS|dkr|r|d} t| d���dS|dkr|r|d} t| d���dS|dkr!|d\} }}}t| |||��dS|dkr#|d\}}d} d}t| |||��dSdS)Nzconnection.connect_tcp.started�hostz* Connecting to zconnection.connect_tcp.complete� return_value� server_addrz* Connected to rz on port rzconnection.start_tls.complete� ssl_objectz* SSL established using z / z* Selected ALPN protocol: z* Server certificate:z#http11.send_request_headers.startedrJFrsz"http2.send_request_headers.startedTz(http11.receive_response_headers.completez'http2.receive_response_headers.completesHTTP/2) r)r*r+r,�get_extra_inforc�cipher� getpeercert�selected_alpn_protocolr�r|r~)rCr�r�r*r��streamr�r�rcr�� server_cert�alpnrJrfrhrjr:s r2�tracer��s����l�"�"�$�$�G� �/�/�/�G�/��F�|��� � �1��1�1�2�2�2�2�2� �2� 2� 2�w� 2��n�%���+�+�M�:�:� �� � �S� �A��S�S�;�q�>�S�S�T�T�T�T�T� �0� 0� 0�W� 0��n�%���*�*�<�8�8� ��$�$�&�&���"�"�$�$�� �,�,�.�.� ��0�0�2�2��� � �L��L�L�v�a�y�L�L�M�M�M�� � �;�4�;�;�<�<�<� � ;� �M�M�1� 2� 2� 2� �M�M�,�[�9�9� :� :� :� :� :� ;� ;� �6� 6� 6�7� 6��y�/���g�U�3�3�3�3�3�3� �5� 5� 5�'� 5��y�/���g�T�2�2�2�2�2�2� �;� ;� ;�7;�N�7K�4� �f�m�W��|�V�]�G�L�L�L�L�L� �:� :� :��~�.���� � �� ��|�V�]�G�L�L�L�L�L� ;� :r4�download�typing.BinaryIOc���tj���}|���|j�d��}tj�ddtj�d���tj� ��tj� ����5}dtj � |j ����}|�|t|pd��|du���}|���D]3}|�|��|�||j����4 ddd��dS#1swxYwYdS) NzContent-Lengthz([progress.description]{task.description}z-[progress.percentage]{task.percentage:>3.0f}%)� bar_widthzDownloading [bold]r)�total�start)� completed)r)r*r+r,r:r;�progress�Progress� BarColumn�DownloadColumn�TransferSpeedColumn�markup�escaperC�add_taskri� iter_bytes�write�update�num_bytes_downloaded)r5r�r*�content_lengthr�� description� download_task�chunks r2�download_responser��s����l�"�"�$�$�G� �M�M�O�O�O��%�)�)�*:�;�;�N� �� � �2�7� � ���$��/�/� � �$�$�&�&� � �)�)�+�+�  � �T� �N�4�;�+=�+=�h�m�+L�+L�N�N� � �)�)� ��n�)��*�*� ��,�*� � � � �(�(�*�*� T� T�E� �N�N�5� !� !� !� �O�O�M�X�5R�O� S� S� S� S� T�T�T�T�T�T�T�T�T�T�T�T�T����T�T�T�T�T�Ts�BE-�-E1�4E1�ctx� click.Context�param�click.Option | click.ParameterrS� typing.Anyc��|�dS tj|��S#tj$rtjd���wxYw)NzNot valid JSON)r��loads�JSONDecodeError�click� BadParameter�r�r�rSs r2� validate_jsonr�sS��  �}��t�3��z�%� � � �� � �3�3�3�� �!1�2�2�2�3���s��$>c�\�|dkrdS|\}}|dkrtjdd���}||fS)N�NN�-�PasswordT)� hide_input)r��prompt)r�r�rS�username�passwords r2� validate_authr�sF��  � ����t���H�h��3����<� �t�<�<�<�� �h� �r4c�`�|r|jrdSt��|���dS)N)�resilient_parsingr3�exitr�s r2� handle_helpr�-s5�� ��C�)�����L�L�L��H�H�J�J�J�J�Jr4)�add_help_optionr`)�typez--methodz-mr_z{Request method, such as GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD. [Default: GET, or POST if a request body is included])r��helpz--paramsz-p�paramsTr)r��multipler�z --contentz-cr�rz--dataz-dr�rz--filesz-f�files�rb)�moderz--jsonz-jr�r)r��callbackr�z --headersz-hrz --cookies�cookiesrz--auth�authr�r)r��defaultr�r�z--proxy�proxyr)r�r�r�z --timeout�timeoutg@rr �follow_redirectsr!)�is_flagr�r�r"�verifyr#r$r%)r�r�r�r�z --download�wbr&z --verbosez-vz*Verbose. Show request as well as response.r'r()r��is_eager� expose_valuer�r��list[tuple[str, str]]�list[tuple[str, click.File]]�tuple[str, str] | None�float�typing.BinaryIO | Nonec��|s |s|s|s|rdnd} t| | || ���5}|�||t|��|t|��|||t|��| | dt jt |���i�� � 5}|�t||��n*|���|j rt|��ddd��n #1swxYwYddd��n #1swxYwYnv#t$ri}tj ���}|�dt!|��j�d |����t%jd ��Yd}~nd}~wwxYwt%j|jrd nd ��dS) zU An HTTP command line client. Sends a request and displays the response. �POST�GET)r�r�rLr�r�)r�) r�r�r�r�r�r:r�r�r�� extensionsNz[red]z[/red]: rr)rr�r��dict� functools�partialr�r��readr�r�rr)r*r+r,r��__name__�sysr�� is_success)r`r_r�r�r�r�r�r:r�r�r�r�r�r�rLr�r��clientr5�excr*s r2�mainr9s.��D �G�"�F�d�F�e�F�t�F������ �%���f� M� M� M� 1�QW�������F�|�|���$�Z�Z�����W� � ��!1�#�Y�%6�u�g�%N�%N�%N�O�� � � 1���'�%�h��9�9�9�9��M�M�O�O�O��'�1�&�x�0�0�0�' 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1���� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1���� 1� 1� 1� 1���, �����,�&�&�(�(��� � �?�d�3�i�i�0�?�?�#�?�?�@�@�@� ��� � � � � � � � ��������� �H�(�%� ,�Q�Q�1�-�-�-�-�-s`�C4�A$C(�>C� C(�C �C(�C �C(� C4�(C,�,C4�/C,�0C4�4 E'�>AE"�"E')r r )r5rr r6)F)rJrKrLrMr r6) rfrgrhrirjrkr:rlr r6)rJrKrLrMr r ) rfrgrhrirjrkr:rlr r )r5rr r )r�r�r r6)rCr6r�r�r�rMr r )r5rr�r�r r )r�r�r�r�rSr�r r�)r�r�r�r�rSr�r r )$r`r6r_r6r�r�r�r6r�r�r�r�r�r6r:r�r�r�r�r�r�r6r�r�r�rMr�rMrLrMr�r�r�rMr r )5� __future__rr�r�r�r=r��pygments.lexersr?� pygments.util� rich.consoler)� rich.markup� rich.progress� rich.syntax� rich.table�_clientr� _exceptionsr�_modelsr� _status_codesr� TYPE_CHECKING�httpcorer3rIrerqr|r~r��Tupler6�_PCTRTT�_PCTRTTT�Dict�Unionr�r�r�r�r�r�r��command�argument�option�Filer�rMrrPr4r2�<module>rsY��"�"�"�"�"�"����� � � � � � � � � � � � � � � � �����������������������������������%�%�%�%�%�%������� � � � � � � ����O�O�O�J�J�J�J�Z � � � � � � � � �����$����� � � � �I�I�I�I�& �,�v�|�C��H�-�s�2� 3�� �<��� � %���{�3�� �S�(�G�5K�(L�#L�M������&GL�$M�$M�$M�$M�$M�NT�T�T�T�, 3� 3� 3� 3�  �  �  �  � � � � ����u�%�%�%�����C� � � � ����� � � @� � � ������ � �s�� � :� �������� � � 7� ������ �� � �s�� � 4� ������ �� � �z�u�z�t�$�$�$� %� � 5� ������ �� � � � 4� �������� � �s�� � :� ������� � �s�� � -� ������ � � �s�� � � L� � � ���� � � � � T� ������� � � � ?� � � ������ � � *� ������� � � � $� ������ � � � � � K� ������� ���D� � � J���� ����� � � � 5� ������ � � �� � &� ���6.�6.�6.����� �������� � ��� � ��������������� � �!� �&�%�V6.�6.�6.r4
Memory