Your IP : 216.73.216.213
U
i�f+ � @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ m
Z
mZ d dlm
Z
e j�e�Ze
jZe j�ed�ZG dd� de �ZG dd� de
�ZG d d
� d
e�ZG dd� dej�Zdeedd
�dd�Zedk�rd dlZejdd�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$ e Zd Zdd� Zdd� Zdd� ZdS )�HTTPSServerc C s t �| ||� || _d S �N)�_HTTPServer�__init__�context)�self�server_address�
handler_classr
� r �5/opt/alt/python38/lib64/python3.8/test/ssl_servers.pyr s zHTTPSServer.__init__c C s d| j j| j| jf S )Nz
<%s %s:%s>)� __class__�__name__Zserver_name�server_port�r r r r �__str__ s ��zHTTPSServer.__str__c
C sf z"| j �� \}}| jj|dd�}W n: tk
r\ } ztjrJtj� d| � � W 5 d }~X Y nX ||fS )NT)Zserver_sidezGot an error:
%s
)
ZsocketZacceptr
Zwrap_socket�OSErrorr �verbose�sys�stderr�write)r �sockZaddrZsslconn�er r r �get_request s zHTTPSServer.get_requestN)r �
__module__�__qualname__r r r r r r r r s r c @ s( e Zd ZdZeZdZdd� Zdd� ZdS )�RootedHTTPRequestHandlerz
TestHTTPS/1.0� c C sz t j�|�d }tj�t j�|��}|�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�parseZurlparse�os�path�normpathZunquote�split�filter�root�
splitdrive�join)r r&