python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
ssl_servers.cpython-311.pyc

e{ddlZddlZddlZddlZddlZddlZddlmZ	m
Z
mZddlm
Z
ddlmZejeZejZejeddZGdde	ZGd	d
e
ZGddeZGd
dejZdeedddZedkrddlZejdZ e !dde"dde !dddddde !d d!d"d#d$d%e !d&d'e#d(d)*e !d+d,e#d-.e !d/d0e#d(d1*e $Z%e%j&e
_&e%j'reZ(neZ(ej)e(_*ej+ej,j-Z.e./ee%j0re.1e%j0e%j2re.3e%j2e%j4re.5e%j4ed2e%j6fe(e.Z7e%j&re8d39e%e7:d4dSdS)5N)
HTTPServerSimpleHTTPRequestHandlerBaseHTTPRequestHandler)support)
socket_helpercertdatazkeycert.pemc eZdZdZdZdZdS)HTTPSServerc@tj|||||_dSN)_HTTPServer__init__context)selfserver_address
handler_classrs    D/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/ssl_servers.pyrzHTTPSServer.__init__s"T>=AAAcBd|jjd|jd|jdS)N< :>)	__class____name__server_nameserver_portrs r__str__zHTTPSServer.__str__s4(((!!!!!!#	$rc	|j\}}|j|d}nA#t$r4}t
jr"tj	d|zd}~wwxYw||fS)NT)server_sidezGot an error:
%s
)
socketacceptrwrap_socketOSErrorrverbosesysstderrwrite)rsockaddrsslconnes     rget_requestzHTTPSServer.get_request!s	++--JD$l..t.FFGG			
<
  !6!:;;;		
}s8;
A9/A44A9N)r
__module____qualname__rrr.rrr
r
sA$$$




rr
c0eZdZdZeZejZdZ	dZ
dS)RootedHTTPRequestHandlerz
TestHTTPS/1.0ctj|d}tjtj|}|d}td|}|j	}|D]f}tj
|\}}tj|\}}tj||}g|S)zTranslate 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)urllibparseurlparseospathnormpathunquotesplitfilterroot
splitdrivejoin)rr;wordsworddriveheads      rtranslate_pathz'RootedHTTPRequestHandler.translate_path7s|$$T**1-w 4 4T : :;;

3tU##y	,	,D',,T22KE4t,,JD$7<<d++DDrc	tjritjd|jj|jj|j	|
||zfzdSdS)Nz server (%s:%d %s):
   [%s] %s
)rr&r'stdoutr)serverrrrequestcipherlog_date_time_stringrformatargss   rlog_messagez$RootedHTTPRequestHandler.log_messageKs~?	,J@"k8"k5"l1133"7799$Tk	++
,
,
,
,
,	,	,rN)rr/r0server_versionherer@rLOOPBACK_TIMEOUTtimeoutrGrQr1rrr3r3-sF
%ND&G(,,,,,rr3c*eZdZdZdZddZdZdZdS)	StatsRequestHandlerzSExample HTTP request handler which returns SSL statistics on GET
    requests.
    zStatsHTTPS/1.0Tc|jjj}|j}|||d}tj|}|	d}|
d|dd|dtt|||r|j|dSdS)zServe a GET request.)
session_cacherLcompressionzutf-8zContent-typeztext/plain; charset=utf-8zContent-LengthN)rfileraw_sockr
session_statsrLrZpprintpformatencode
send_responsesend_headerstrlenend_headerswfiler))r	send_bodyr*rstatsbodys      rdo_GETzStatsRequestHandler.do_GET]sz~#,$2244kkmm++--
~e$${{7##3)DEEE)3s4yy>>:::	#JT"""""	#	#rc2|ddS)zServe a HEAD request.F)riN)rlrs rdo_HEADzStatsRequestHandler.do_HEADose$$$$$rcHtjrtj||g|RdSdSr)rr&rlog_requestrNs   rrpzStatsRequestHandler.log_requestss:?	D".tVCdCCCCCC	D	DrN)T)rr/r0__doc__rRrlrnrpr1rrrWrWVs\&N####$%%%DDDDDrrWc4eZdZedfdZdZddZdZdZdS)HTTPSServerThreadNcd|_t|df|pt||_|jj|_tj|d|_	dS)NrT)
flagr
r3rJrport	threadingThreadrdaemon)rrhostrs    rrzHTTPSServerThread.__init__zs\	!4)"/"K3K")++K+	!!$'''rc2d|jjd|jdS)Nrrr)rrrJrs rrzHTTPSServerThread.__str__s  N333T[[[AArcR||_tj|dSr)rurwrxstart)rrus  rr}zHTTPSServerThread.starts&	t$$$$$rc|jr|j	|jd|jdS#|jwxYw)Ng?)rusetrJ
serve_foreverserver_closers rrunzHTTPSServerThread.runsj9	IMMOOO	'K%%d+++K$$&&&&&DK$$&&&&sAA2c8|jdSr)rJshutdownrs rstopzHTTPSServerThread.stopsrr)	rr/r0HOSTrrr}rrr1rrrsrsxsq%)BBB%%%%'''rrs)rcertfilerzrcJ|#tjtjj}||t|||t
j}||	fd}|
|S)NctjrtjdtjrtjddS)Nzstopping HTTPS server
zjoining HTTPS thread
)rr&r'rIr)rrB)rJsrcleanupz"make_https_server.<locals>.cleanupsc?	8J6777


?	7J5666




r)sslcreate_default_contextPurposeCLIENT_AUTHload_cert_chainrsrwEventr}wait
addCleanup)caserrrzrrurrJs       @rmake_https_serverrs,S[-DEEH%%%
wm
<
<F?D
LLIIKKK	OOGMr__main__zERun a test HTTPS server. By default, the current directory is served.)descriptionz-pz--portiQz(port to listen on (default: %(default)s))typedefaulthelpz-qz--quietr&Tstore_falsezbe less verbose)destractionrz-sz--statsuse_stats_handlerF
store_truezalways return stats pagez--curve-name
curve_namestorez&curve name for EC-based Diffie-Hellman)rrrrz	--cipherscipherszallowed cipher list)rrrz--dhdh_filez!PEM file containing DH parametersz'Listening on https://localhost:{0.port}g?);r:r'rr`rwurllib.parser7http.serverrr
rrtestrtest.supportrr;dirname__file__rSrrBCERTFILEr
r3rWrxrsrrargparseArgumentParserparseradd_argumentintre
parse_argsrPr&rrgetcwdr@rrrrrrset_ecdh_curverload_dh_paramsrset_ciphersrvrJprintrOrr1rr<module>rs				











6666666666&&&&&&	wx  
7<<j-88+0&,&,&,&,&,7&,&,&,RDDDDD0DDDD	(<(,ht*zOOO
$X
$CDDDFhS$GIII
ii,3DFFF
i.A5+2LNNN
\&EGGG)#2444
YS@BBBDlGO)+

0
&RY[[
(c()@AAGH%%%0t///|-t|,,,|*DL)))
["di-
A
AF|F
7>>tDDEEE
Mr