%PDF- %PDF-
Direktori : /opt/alt/python37/lib64/python3.7/http/__pycache__/ |
Current File : //opt/alt/python37/lib64/python3.7/http/__pycache__/server.cpython-37.opt-2.pyc |
B ��2aó � @ s� d Z dddddgZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddl Z ddlZddlZddlZddlZddlZddlZddlmZ dd lmZ d ZdZG dd� dej�ZG d d� deje�ZG dd� dej�ZG dd� de�Z dd� Z!da"dd� Z#dd� Z$G dd� de �Z%eedddfdd�Z&e'dk�r�ddl(Z(e(�)� Z*e*j+dddd � e*j+d!d"dd#d$d%� e*j+d&d'e�,� d(d)� e*j+d*d+de-d,d-d.� e*�.� Z/e/j0�r�e%Z1nee e/j2d/�Z1e&e1e/j3e/j4d0� dS )1z0.6� HTTPServer�ThreadingHTTPServer�BaseHTTPRequestHandler�SimpleHTTPRequestHandler�CGIHTTPRequestHandler� N)�partial)� HTTPStatusa� <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Error response</title> </head> <body> <h1>Error response</h1> <p>Error code: %(code)d</p> <p>Message: %(message)s.</p> <p>Error code explanation: %(code)s - %(explain)s.</p> </body> </html> ztext/html;charset=utf-8c @ s e Zd ZdZdd� ZdS )r � c C s4 t j�| � | jd d� \}}t�|�| _|| _d S )N� )�socketserver� TCPServer�server_bind�server_address�socketZgetfqdn�server_name�server_port)�self�host�port� r �0/opt/alt/python37/lib64/python3.7/http/server.pyr � s zHTTPServer.server_bindN)�__name__� __module__�__qualname__Zallow_reuse_addressr r r r r r � s c @ s e Zd ZdZdS )r TN)r r r Zdaemon_threadsr r r r r � s c @ s e Zd Zdej�� d Zde Ze Z eZdZ dd� Zdd� Zd d � Zdd� Zd?dd�Zd@dd�ZdAdd�Zdd� Zdd� Zdd� ZdBdd�Zdd� Zdd � Zd!d"� ZdCd#d$�Zd%d&� Zd'd(d)d*d+d,d-gZd d.d/d0d1d2d3d4d5d6d7d8d9g Zd:d;� Z d<Z!e"j#j$Z%d=d>� e&j'�(� D �Z)d S )Dr zPython/r z BaseHTTP/zHTTP/0.9c C s� d | _ | j | _}d| _t| jd�}|�d�}|| _|�� }t |�dkrLdS t |�dk�r |d }yT|� d�srt�|�d d �d }|�d�}t |�dkr�t�t|d �t|d �f}W n* tt fk r� | �tjd | � dS X |dkr�| jdkr�d| _|dk�r| �tjd| � dS || _dt |� k�r<dk�sTn | �tjd| � dS |d d� \}}t |�dk�r�d| _|dk�r�| �tjd| � dS || | _ | _ytjj| j| jd�| _W nv tjjk �r� } z| �tjdt|�� dS d }~X Y n< tjjk �r6 } z| �tjdt|�� dS d }~X Y nX | j�dd�} | �� dk�r\d| _n | �� dk�r|| jdk�r|d| _| j�dd�} | �� dk�r�| jdk�r�| jdk�r�| �� �s�dS dS )NTz iso-8859-1z r F� ���zHTTP/�/r �.r zBad request version (%r))r r zHTTP/1.1)r r zInvalid HTTP version (%s)zBad request syntax (%r)ZGETzBad HTTP/0.9 request type (%r))Z_classz Line too longzToo many headers� Connection� �closez keep-aliveZExpectz100-continue) �command�default_request_version�request_version�close_connection�str�raw_requestline�rstrip�requestline�split�len� startswith� ValueError�int� IndexError� send_errorr ZBAD_REQUEST�protocol_versionZHTTP_VERSION_NOT_SUPPORTED�path�http�clientZ parse_headers�rfile�MessageClass�headersZLineTooLongZREQUEST_HEADER_FIELDS_TOO_LARGEZ HTTPException�get�lower�handle_expect_100)r �versionr( �wordsZbase_version_numberZversion_numberr! r1 �errZconntype�expectr r r � parse_request s� z$BaseHTTPRequestHandler.parse_requestc C s | � tj� | �� dS )NT)�send_response_onlyr ZCONTINUE�end_headers)r r r r r9 o s z(BaseHTTPRequestHandler.handle_expect_100c C s� y�| j �d�| _t| j�dkr@d| _d| _d| _| �tj � d S | jsPd| _ d S | �� s\d S d| j }t| |�s�| �tj d| j � d S t| |�}|� | j�� W n6 tjk r� } z| �d|� d| _ d S d }~X Y nX d S )Ni i r TZdo_zUnsupported method (%r)zRequest timed out: %r)r4 �readliner&