Your IP : 3.142.251.204


Current Path : /opt/alt/python312/lib64/python3.12/wsgiref/__pycache__/
Upload File :
Current File : //opt/alt/python312/lib64/python3.12/wsgiref/__pycache__/simple_server.cpython-312.opt-2.pyc

�

�Q�f3���	ddlmZmZddlZddlZddlmZddlm	Z	dZ
gd�Zde
zZe	�dzejj�dzZed	zezZGd
�de�ZGd�d
e�ZGd�de�Zd�Zeefd�Zedk(rfedde�5Zej0j3�Zededdedd�ddlZej:d�ej=�ddd�yy#1swYyxYw)�)�BaseHTTPRequestHandler�
HTTPServerN)�
SimpleHandler)�python_implementationz0.2)�
WSGIServer�WSGIRequestHandler�demo_app�make_server�WSGIServer/�/� c��eZdZeZd�Zy)�
ServerHandlerc���	|jj|jjdd�d|j�tj|�y#tj|�wxYw)Nr
�r)�request_handler�log_request�status�split�
bytes_sentr�close��selfs �</opt/alt/python312/lib64/python3.12/wsgiref/simple_server.pyrzServerHandler.close sY��	&�� � �,�,����!�!�#�a�(��+�T�_�_�
�
����%��M����%�s�AA�A2N)�__name__�
__module__�__qualname__�software_version�server_softwarer��rrrs��&�O�&r!rc�*�eZdZ	dZd�Zd�Zd�Zd�Zy)rNc�P�	tj|�|j�y�N)r�server_bind�
setup_environrs rr%zWSGIServer.server_bind0s��<����t�$����r!c��ix}|_|j|d<d|d<t|j�|d<d|d<d|d<d|d<y)	N�SERVER_NAMEzCGI/1.1�GATEWAY_INTERFACE�SERVER_PORT��REMOTE_HOST�CONTENT_LENGTH�SCRIPT_NAME)�base_environ�server_name�str�server_port)r�envs  rr&zWSGIServer.setup_environ5s^��"$�$��d��!�-�-��M��#,��� � ��!1�!1�2��M����M�� ������M�r!c��|jSr$��applicationrs r�get_appzWSGIServer.get_app?s�����r!c��||_yr$r5)rr6s  r�set_appzWSGIServer.set_appBs
��&��r!)rrrr6r%r&r7r9r r!rrr*s��A��K��
 � �'r!rc�(�eZdZdezZd�Zd�Zd�Zy)rrc��|jjj�}|j|d<|j|d<|j
|d<d|jvr |jjdd�\}}n|jd}}tjj|d�|d<||d	<|j�}||jd
k7r||d<|jd
|d<|jjd
��|jj�|d<n|jd
|d<|jjd�}|r||d<|jj!�D]]\}}|j#dd�j%�}|j'�}||vr�;d|z|vr|d|zxxd|zz
cc<�V||d|z<�_|S)N�SERVER_PROTOCOL�SERVER_SOFTWARE�REQUEST_METHOD�?rr+z
iso-8859-1�	PATH_INFO�QUERY_STRINGrr,�REMOTE_ADDRzcontent-type�CONTENT_TYPEzcontent-lengthr-�-�_�HTTP_�,)�serverr/�copy�request_version�server_version�command�pathr�urllib�parse�unquote�address_string�client_address�headers�get�get_content_type�items�replace�upper�strip)rr3rM�query�host�length�k�vs        r�get_environzWSGIRequestHandler.get_environKs����k�k�&�&�+�+�-��!%�!5�!5����!%�!4�!4���� $�������$�)�)��������Q�/�J�D�����2��D�!�<�<�/�/��l�C��K��#��N���"�"�$���4�&�&�q�)�)�!%�C�
��!�0�0��3��M���<�<���N�+�3�"&�,�,�"?�"?�"A�C���"&�,�,�~�">�C������!�!�"2�3���$*�C� �!��L�L�&�&�(�D�A�q��i�i��C� �&�&�(�A�A�G�G�I�!��C�x���q�y�C���G�A�I��#�a�%�'��!"��G�A�I��)��
r!c�"�tjSr$)�sys�stderrrs r�
get_stderrzWSGIRequestHandler.get_stderrps���z�z�r!c���	|jjd�|_t|j�dkDr'd|_d|_d|_|jd�y|j�syt|j|j|j�|j�d��}||_
|j|jj!��y)Niir+i�F)�multithread)�rfile�readline�raw_requestline�len�requestlinerJrL�
send_error�
parse_requestr�wfilercr_r�runrHr7)r�handlers  r�handlezWSGIRequestHandler.handless���*�#�z�z�2�2�5�9����t�#�#�$�u�,�!�D��#%�D� ��D�L��O�O�C� ���!�!�#����J�J��
�
�D�O�O�$5�t�7G�7G�7I��
��#'������D�K�K�'�'�)�*r!N)rrr�__version__rKr_rcrpr r!rrrGs��"�[�0�N�#�J�+r!rc��ddlm}|�}td|��t|��t|j	��}|D]\}}t|dt|�|���|ddg�|j
�jd�gS)	Nr)�StringIOzHello world!)�file�=z200 OK)zContent-Typeztext/plain; charset=utf-8zutf-8)�iors�print�sortedrV�repr�getvalue�encode)�environ�start_responsers�stdout�hr]r^s       rr	r	�sw���
�Z�F�	�.�v�&�	�v���w�}�}���A����!�
�a��D��G�&�)���8�J�K�L��O�O��$�$�W�-�.�.r!c�@�	|||f|�}|j|�|Sr$)r9)r[�port�app�server_class�
handler_classrHs      rr
r
�s)��L�
�4��,�
�
6�F�
�N�N�3���Mr!�__main__r+i@zServing HTTP onr�rz...zhttp://localhost:8000/xyz?abc)�http.serverrrra�urllib.parserN�wsgiref.handlersr�platformrrq�__all__rK�versionr�sys_versionrrrrr	r
r�httpd�socket�getsockname�sarw�
webbrowser�open�handle_requestr r!r�<module>r�s��
�;�
��*�*���
I����,��#�%��+�c�k�k�.?�.?�.A�!�.D�D��!�C�'�+�5��
&�M�
&�'��'�:?+�/�?+�F	/�#-�<N���z��	�R��x�	(�E�
�\�\�
%�
%�
'��
���A����1��u�=���
���7�8�
����
)�	(��	(�	(�s
�AC/�/C8

?>