bg)ddlmZmZmZmZddlmZmZddlm Z ddl Z ddl Z ddl Z ddl Z ddlZddlmZddlmZmZmZddlmZejdZe jeZejZe j ed Z!Gd d eZ"Gd d eZ#GddeZ$Gddej%Z&e!edfdZ'e(dkrddl)Z)e)j*dZ+e+,dde-dde+,dddddd !e+,d"d#d$d%d&d'!e+,d(d)ed*d+,e+,d-d.ed*d/,e+.Z/e/j0e_0e/j1re$Z2n2e#Z2e j3re j4e2_5ne j6e2_5e j7e j8Z9e9:e!e/j;re9<e/j;e/j=re9>e/j=e"d0e/j?fe2e9Z@e/j0reAd1Be/e@Cd2dSdS)3)absolute_importdivisionprint_functionunicode_literals)filterstr)utilsN)parse) HTTPServerSimpleHTTPRequestHandlerBaseHTTPRequestHandler)support threadingz keycert.pemc eZdZdZdZdZdS) HTTPSServerc@tj|||||_dSN) _HTTPServer__init__context)selfserver_address handler_classrs r/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/future/backports/test/ssl_servers.pyrzHTTPSServer.__init__s"T>=AAA cBd|jjd|jd|jdS)N< :>) __class____name__ server_name server_portrs r__str__zHTTPSServer.__str__s4(((!!!!!!# $rc  |j\}}|j|d}nF#tj$r4}t jr"tj d|zd}~wwxYw||fS)NT) server_sidezGot an error: %s ) socketacceptr wrap_socketerrorrverbosesysstderrwrite)rsockaddrsslconnes r get_requestzHTTPSServer.get_request"s ++--JD$l..t.FFGG|    <   !6!:;;;    }s8;A> /A99A>N)r" __module__ __qualname__rr&r5rrrrsA$$$     rrc&eZdZdZeZdZdZdZdS)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) urllibr urlparseospathnormpathunquotesplitrroot splitdrivejoin)rrBwordsworddriveheads rtranslate_pathz'RootedHTTPRequestHandler.translate_path8s|$$T**1-w 4 4T : :;; 3tU##y , ,D',,T22KE4t,,JD$7<<d++DD rc tjritjd|jj|jj|j | ||zfzdSdS)Nz server (%s:%d %s): [%s] %s ) rr-r.stdoutr0serverrr$requestcipherlog_date_time_stringrformatargss r log_messagez$RootedHTTPRequestHandler.log_messageLs~ ? , J  @"k8"k5"l1133"7799$Tk ++ , , , , , , ,rN) r"r6r7server_versionhererFtimeoutrMrWr8rrr:r:.sC %N DG(,,,,,rr:c*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_cacherR compressionzutf-8z Content-typeztext/plain; charset=utf-8zContent-LengthN)rfileraw_sockr session_statsrRr_pprintpformatencode send_response send_headerrlen end_headerswfiler0)r send_bodyr1rstatsbodys rdo_GETzStatsRequestHandler.do_GET^sz~#,$2244kkmm++-- ~e$${{7## 3 )DEEE )3s4yy>>:::   # J  T " " " " " # #rc2|ddS)zServe a HEAD request.F)rmN)rpr%s rdo_HEADzStatsRequestHandler.do_HEADps e $$$$$rcHtjrtj||g|RdSdSr)rr-r log_requestrTs rrtzStatsRequestHandler.log_requestts: ? D " .tV Cd C C C C C C D DrN)T)r"r6r7__doc__rXrprrrtr8rrr\r\Ws\&N####$%%%DDDDDrr\c4eZdZedfdZdZddZdZdZdS)HTTPSServerThreadNcd|_t|df|pt||_|jj|_t j|d|_ dS)NrT) flagrr:rPr$portrThreadrdaemon)rrhostrs rrzHTTPSServerThread.__init__{s\ !4)"/"K3K")++ K+ !!$''' rc2d|jjd|jdS)Nrrr )r!r"rPr%s rr&zHTTPSServerThread.__str__s  N333T[[[AArcR||_tj|dSr)ryrr{start)rrys rrzHTTPSServerThread.starts& t$$$$$rc|jr|j |jd|jdS#|jwxYw)Ng?)rysetrP serve_forever server_closer%s rrunzHTTPSServerThread.runsj 9  IMMOOO ' K % %d + + + K $ $ & & & & &DK $ $ & & & &s AA2c8|jdSr)rPshutdownr%s rstopzHTTPSServerThread.stops rr) r"r6r7HOSTrr&rrrr8rrrwrwysq%)BBB%%%%'''rrwcHtjtj}||t |||t }||fd}| |S)NctjrtjdtjrtjddS)Nzstopping HTTPS server zjoining HTTPS thread )rr-r.rOr0rrH)rPsrcleanupz"make_https_server..cleanupsc ? 8 J  6 7 7 7 ? 7 J  5 6 6 6 r) ssl SSLContextPROTOCOL_SSLv23load_cert_chainrwrEventrwait addCleanup)casecertfiler}rrryrrPs @rmake_https_serverrsnS011G H%%% wm < rs2RRRRRRRRRRRR'''''''' 9999996666666666)))))) !G !+ . .  wx  | 7<<m , ,+0&,&,&,&,&,7&,&,&,RDDDDD0DDDD (<&.D& zOOO $X $CDDDF hS$GIII ii,3DFFF i.A5+2LNNN \&EGGG YS@BBB     DlGO -+ 0 9 -!+M  !*M cnS/00G H%%% 0t/// |-t|,,, ["di- A AF |F 7>>tDDEEE Kr