Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python33/lib64/python3.3/test/__pycache__/ssl_servers.cpython-33.pyc

�
��fFc@s�ddlZddlZddlZddlZddlZddlZddlmZ	m
Z
mZddlm
Z
e
jd�Zejje�Ze
jZejjed�ZGdd�de	�ZGdd	�d	e
�ZGd
d�de�ZGdd
�d
ej�Zeeddd�Zedkr�ddlZej dd�Z!e!j"ddde#dddd�e!j"dddddd0dddd �e!j"d!d"dd#dd1dd$dd%�e!j"d&dd'de&dd(dd)�e!j"d*dd+de&dd(dd,�e!j'�Z(e(j)e
_)e(j*r3eZ+neZ+ej,�e+_-ej.ej/�Z0e0j1e�e(j2r�e0j3e(j2�ne(j4r�e0j5e(j4�ned-e(j6fe+e0�Z7e(j)r�e8d.j9e(��ne7j:d/�ndS(2iN(u
HTTPServeruSimpleHTTPRequestHandleruBaseHTTPRequestHandler(usupportu	threadingukeycert.pemcBs8|EeZdZdd�Zdd�Zdd�ZdS(uHTTPSServercCs tj|||�||_dS(N(u_HTTPServeru__init__ucontext(uselfuserver_addressu
handler_classucontext((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyu__init__suHTTPSServer.__init__cCsd|jj|j|jfS(Nu
<%s %s:%s>(u	__class__u__name__userver_nameuserver_port(uself((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyu__str__s	uHTTPSServer.__str__cCs�y1|jj�\}}|jj|dd�}WnKtjk
r~}z(tjritj	j
d|�n�WYdd}~XnX||fS(Nuserver_sideuGot an error:
%s
T(usocketuacceptucontextuwrap_socketuTrueuerrorusupportuverboseusysustderruwrite(uselfusockuaddrusslconnue((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyuget_request!s	uHTTPSServer.get_requestN(u__name__u
__module__u__qualname__u__init__u__str__uget_request(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyuHTTPSServersuHTTPSServercBs>|EeZdZdZeZdZdd�Zdd�ZdS(uRootedHTTPRequestHandleru
TestHTTPS/1.0icCs�tjj|�d}tjjtjj|��}|jd�}td|�}|j
}xS|D]K}tjj|�\}}tjj|�\}}tjj||�}qbW|S(u�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.)

        iu/N(
uurllibuparseuurlparseuosupathunormpathuunquoteusplitufilteruNoneurootu
splitdriveujoin(uselfupathuwordsuwordudriveuhead((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyutranslate_path7s		
u'RootedHTTPRequestHandler.translate_pathcGsRtjrNtjjd|jj|jj|jj	�|j
�||f�ndS(Nu server (%s:%d %s):
   [%s] %s
(usupportuverboseusysustdoutuwriteuserveruserver_addressuserver_porturequestucipherulog_date_time_string(uselfuformatuargs((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyulog_messageKs				u$RootedHTTPRequestHandler.log_messageN(	u__name__u
__module__u__qualname__userver_versionuhereurootutimeoututranslate_pathulog_message(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyuRootedHTTPRequestHandler-s
uRootedHTTPRequestHandlercBsG|EeZdZdZdZd
dd�Zdd�Zdd�Zd	S(uStatsRequestHandleruSExample HTTP request handler which returns SSL statistics on GET
    requests.
    uStatsHTTPS/1.0cCs�|jjj}|j}i|j�d6|j�d6|j�d6}tj|�}|j	d�}|j
d�|jdd�|jdtt
|���|j�|r�|jj|�nd	S(
uServe a GET request.u
session_cacheucipherucompressionuutf-8i�uContent-typeutext/plain; charset=utf-8uContent-LengthN(urfileurawu_sockucontextu
session_statsucipherucompressionupprintupformatuencodeu
send_responseusend_headerustrulenuend_headersuwfileuwrite(uselfu	send_bodyusockucontextustatsubody((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyudo_GET]s	



uStatsRequestHandler.do_GETcCs|jdd�dS(uServe a HEAD request.u	send_bodyNF(udo_GETuFalse(uself((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyudo_HEADosuStatsRequestHandler.do_HEADcGs#tjrtj|||�ndS(N(usupportuverboseuBaseHTTPRequestHandlerulog_request(uselfuformatuargs((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyulog_requestss	uStatsRequestHandler.log_requestNT(	u__name__u
__module__u__qualname__u__doc__userver_versionuTrueudo_GETudo_HEADulog_request(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyuStatsRequestHandlerVs
uStatsRequestHandlercBsY|EeZdZeddd�Zdd�Zddd�Zdd�Zd	d
�Z	dS(uHTTPSServerThreadcCsVd|_t|df|pt|�|_|jj|_tjj	|�d|_dS(NiT(uNoneuflaguHTTPSServeruRootedHTTPRequestHandleruserveruserver_portuportu	threadinguThreadu__init__uTrueudaemon(uselfucontextuhostu
handler_class((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyu__init__zs		uHTTPSServerThread.__init__cCsd|jj|jfS(Nu<%s %s>(u	__class__u__name__userver(uself((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyu__str__�suHTTPSServerThread.__str__cCs||_tjj|�dS(N(uflagu	threadinguThreadustart(uselfuflag((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyustart�s	uHTTPSServerThread.startc
CsB|jr|jj�nz|jjd�Wd|jj�XdS(Ng�������?(uflagusetuserveru
serve_foreveruserver_close(uself((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyurun�s
	uHTTPSServerThread.runcCs|jj�dS(N(userverushutdown(uself((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyustop�suHTTPSServerThread.stopN(
u__name__u
__module__u__qualname__uHOSTuNoneu__init__u__str__ustarturunustop(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyuHTTPSServerThreadxs
	uHTTPSServerThreadcswtjtj�}|j|�t|||��tj�}�j|�|j��fdd�}|j	|��S(NcsPtjrtjjd�n�j�tjrBtjjd�n�j�dS(Nustopping HTTPS server
ujoining HTTPS thread
(usupportuverboseusysustdoutuwriteustopujoin((userver(u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyucleanup�s	
	u"make_https_server.<locals>.cleanup(
usslu
SSLContextuPROTOCOL_SSLv23uload_cert_chainuHTTPSServerThreadu	threadinguEventustartuwaitu
addCleanup(ucaseucertfileuhostu
handler_classucontextuflagucleanup((userveru5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyumake_https_server�s



umake_https_serveru__main__udescriptionuERun a test HTTPS server. By default, the current directory is served.u-pu--portutypeudefaultiQuhelpu(port to listen on (default: %(default)s)u-qu--quietudestuverboseuactionustore_falseube less verboseu-su--statsuuse_stats_handleru
store_trueualways return stats pageu--curve-nameu
curve_nameustoreu&curve name for EC-based Diffie-Hellmanu--dhudh_fileu!PEM file containing DH parametersuu'Listening on https://localhost:{0.port}g�������?TF(;uosusysusslupprintusocketuurllib.parseuurllibuhttp.serveru
HTTPServeru_HTTPServeruSimpleHTTPRequestHandleruBaseHTTPRequestHandlerutestusupportu
import_moduleu	threadingupathudirnameu__file__uhereuHOSTujoinuCERTFILEuHTTPSServeruRootedHTTPRequestHandleruStatsRequestHandleruThreaduHTTPSServerThreaduNoneumake_https_serveru__name__uargparseuArgumentParseruparseruadd_argumentuintuTrueuFalseustru
parse_argsuargsuverboseuuse_stats_handleru
handler_classugetcwdurootu
SSLContextuPROTOCOL_TLSv1ucontextuload_cert_chainu
curve_nameuset_ecdh_curveudh_fileuload_dh_paramsuportuserveruprintuformatu
serve_forever(((u5/opt/alt/python33/lib64/python3.3/test/ssl_servers.pyu<module>s^	)"