Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/ssl_servers.cpython-38.opt-1.pyc
U

>��g+�@sddlZddlZddlZddlZddlZddlZddlmZ	m
Z
mZddlm
Z
ej�e�Ze
jZej�ed�ZGdd�de	�ZGdd�de
�ZGd	d
�d
e�ZGdd�dej�Zdeedd
�dd�Zedk�rddlZejdd�Zejdde ddd�ejddddddd�ejdd d!d"d#d$d�ejd%d&e!d'd(d)�ejd*d+e!d,d-�ejd.d/e!d'd0d)�e�"�Z#e#j$e
_$e#j%�r|eZ&neZ&e�'�e&_(e�)ej*j+�Z,e,�-e�e#j.�r�e,�/e#j.�e#j0�r�e,�1e#j0�e#j2�r�e,�3e#j2�ed1e#j4fe&e,�Z5e#j$�re6d2�7e#��e5�8d3�dS)4�N)�
HTTPServer�SimpleHTTPRequestHandler�BaseHTTPRequestHandler)�supportzkeycert.pemc@s$eZdZdd�Zdd�Zdd�ZdS)�HTTPSServercCst�|||�||_dS�N)�_HTTPServer�__init__�context)�self�server_address�
handler_classr
�r�//opt/cppython/lib/python3.8/test/ssl_servers.pyr	szHTTPSServer.__init__cCsd|jj|j|jfS)Nz
<%s %s:%s>)�	__class__�__name__Zserver_name�server_port�rrrr�__str__s��zHTTPSServer.__str__c
Csfz"|j��\}}|jj|dd�}Wn:tk
r\}ztjrJtj�	d|��W5d}~XYnX||fS)NT)Zserver_sidezGot an error:
%s
)
�socket�acceptr
Zwrap_socket�OSErrorr�verbose�sys�stderr�write)r�sock�addrZsslconn�errr�get_request szHTTPSServer.get_requestN)r�
__module__�__qualname__r	rrrrrrrsrc@s(eZdZdZeZdZdd�Zdd�ZdS)�RootedHTTPRequestHandlerz
TestHTTPS/1.0�cCsztj�|�d}tj�tj�|��}|�d�}td|�}|j	}|D]2}tj�
|�\}}tj�|�\}}tj�||�}qB|S)z�Translate a /-separated PATH to the local filename syntax.

        Components that mean special things to the local file system
        (e.g. drive or directory names) are ignored.  (XXX They should
        probably be diagnosed.)

        ��/N)�urllib�parse�urlparse�os�path�normpath�unquote�split�filter�root�
splitdrive�join)rr*ZwordsZwordZdrive�headrrr�translate_path6s	

z'RootedHTTPRequestHandler.translate_pathc	Gs:tjr6tj�d|jj|jj|j�	�|�
�||f�dS)Nz server (%s:%d %s):
   [%s] %s
)rrr�stdoutr�serverrrZrequest�cipherZlog_date_time_string�r�format�argsrrr�log_messageJs��z$RootedHTTPRequestHandler.log_messageN)	rr r!�server_version�herer/�timeoutr3r:rrrrr",s
r"c@s.eZdZdZdZddd�Zdd�Zdd	�Zd
S)�StatsRequestHandlerzSExample HTTP request handler which returns SSL statistics on GET
    requests.
    zStatsHTTPS/1.0TcCs�|jjj}|j}|��|��|��d�}t�|�}|�	d�}|�
d�|�dd�|�dtt
|���|��|r~|j�|�dS)zServe a GET request.)Z
session_cacher6�compressionzutf-8��zContent-typeztext/plain; charset=utf-8zContent-LengthN)Zrfile�raw�_sockr
Z
session_statsr6r?�pprintZpformat�encodeZ
send_responseZsend_header�str�lenZend_headersZwfiler)r�	send_bodyrr
ZstatsZbodyrrr�do_GET\s
�


zStatsRequestHandler.do_GETcCs|jdd�dS)zServe a HEAD request.F)rGN)rHrrrr�do_HEADnszStatsRequestHandler.do_HEADcGstjrtj||f|��dSr)rrr�log_requestr7rrrrJrszStatsRequestHandler.log_requestN)T)rr r!�__doc__r;rHrIrJrrrrr>Us

r>c@s<eZdZedfdd�Zdd�Zddd�Zdd	�Zd
d�ZdS)
�HTTPSServerThreadNcCs<d|_t|df|pt|�|_|jj|_tj�|�d|_	dS)NrT)
�flagrr"r5r�port�	threading�Threadr	�daemon)rr
�hostr
rrrr	ys�
zHTTPSServerThread.__init__cCsd|jj|jfS)Nz<%s %s>)rrr5rrrrr�szHTTPSServerThread.__str__cCs||_tj�|�dSr)rMrOrP�start)rrMrrrrS�szHTTPSServerThread.startcCs2|jr|j��z|j�d�W5|j��XdS)Ng�������?)rM�setr5Zserver_close�
serve_foreverrrrr�run�s

zHTTPSServerThread.runcCs|j��dSr)r5�shutdownrrrr�stop�szHTTPSServerThread.stop)N)	rr r!�HOSTr	rrSrVrXrrrrrLws
	
rL)r
�certfilerRr
cs`|dkrt�tjj�}|�|�t|||��t��}��|�|�	��fdd�}|�
|��S)Ncs8tjrtj�d����tjr,tj�d����dS)Nzstopping HTTPS server
zjoining HTTPS thread
)rrrr4rrXr1r�r5rr�cleanup�sz"make_https_server.<locals>.cleanup)�ssl�create_default_context�Purpose�CLIENT_AUTH�load_cert_chainrLrO�EventrS�waitZ
addCleanup)Zcaser
rZrRr
rMr\rr[r�make_https_server�s


rd�__main__zERun a test HTTPS server. By default, the current directory is served.)�descriptionz-pz--portiQz(port to listen on (default: %(default)s))�type�default�helpz-qz--quietrT�store_falsezbe less verbose)�destrh�actionriz-sz--stats�use_stats_handlerF�
store_truezalways return stats pagez--curve-name�
curve_name�storez&curve name for EC-based Diffie-Hellman)rkrgrlriz	--ciphers�cipherszallowed cipher list)rkrgriz--dh�dh_filez!PEM file containing DH parameters�z'Listening on https://localhost:{0.port}g�������?)9r)rr]rCrOZurllib.parser&Zhttp.serverrrrr�testrr*�dirname�__file__r<rYr1ZCERTFILErr"r>rPrLrdr�argparse�ArgumentParser�parser�add_argument�intrE�
parse_argsr9rrmr
�getcwdr/r^r_r`r
raroZset_ecdh_curverrZload_dh_paramsrqZset_ciphersrNr5�printr8rUrrrr�<module>s|)"�
����
�
��



F1le Man4ger