File "server.cpython-36.opt-2.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/lib64/python3.6/http/__pycache__/server.cpython-36.opt-2.pyc
File size: 19.89 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit

3

\dh@sdZddddgZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlmZdZd	ZGd
ddejZGdddejZGdddeZd
dZdaddZddZ GdddeZ!eedddfddZ"e#dkrej$Z%e%j&dddde%j&dddd d!d"e%j&d#d$de'd%d&d'e%j(Z)e)j*rze!Z+neZ+e"e+e)j,e)j-d(dS))z0.6
HTTPServerBaseHTTPRequestHandlerSimpleHTTPRequestHandlerCGIHTTPRequestHandlerN)
HTTPStatusa<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <title>Error response</title>
    </head>
    <body>
        <h1>Error response</h1>
        <p>Error code: %(code)d</p>
        <p>Message: %(message)s.</p>
        <p>Error code explanation: %(code)s - %(explain)s.</p>
    </body>
</html>
ztext/html;charset=utf-8c@seZdZdZddZdS)rcCs4tjj||jdd\}}tj||_||_dS)N)socketserver	TCPServerserver_bindserver_addresssocketZgetfqdnserver_nameserver_port)selfhostportr#/usr/lib64/python3.6/http/server.pyrszHTTPServer.server_bindN)__name__
__module____qualname__Zallow_reuse_addressrrrrrrsc
@seZdZdejjdZdeZe	Z
eZdZ
ddZddZd	d
ZddZd?ddZd@ddZdAddZddZddZddZdBddZddZdd Zd!d"ZdCd#d$Zd%d&Zd'd(d)d*d+d,d-gZd
d.d/d0d1d2d3d4d5d6d7d8d9g
Zd:d;Z d<Z!e"j#j$Z%d=d>e&j'j(DZ)d
S)DrzPython/rz	BaseHTTP/zHTTP/0.9cCsd|_|j|_}d|_t|jd}|jd}||_|j}t	|dkr|\}}}yZ|dddkrjt
|jddd}|jd	}t	|d
krt
t|dt|df}Wn*t
tfk
r|j
tjd|d
SX|dkr|jdkrd
|_|dkrr|j
tjd|d
Sn^t	|d
krR|\}}d|_|dkrr|j
tjd|d
Sn |s\d
S|j
tjd|d
S||||_|_|_|jjdrd|jjd|_ytjj|j|jd|_Wnrtjjk
r}z|j
tjdt|d
Sd}~Xn:tjjk
r4}z|j
tjdt|d
Sd}~XnX|jjdd}	|	jdkrZd|_n |	jdkrz|jdkrzd
|_|jjdd}
|
jdkr|jdkr|jdkr|j sd
SdS)NTz
iso-8859-1z
zHTTP//r.rrzBad request version (%r)FzHTTP/1.1zInvalid HTTP version (%s)ZGETzBad HTTP/0.9 request type (%r)zBad request syntax (%r)z//)Z_classz
Line too longzToo many headers
Connectionclosez
keep-aliveZExpectz100-continue)rr)rr)!commanddefault_request_versionrequest_versionclose_connectionstrraw_requestlinerstriprequestlinesplitlen
ValueErrorint
IndexError
send_errorrZBAD_REQUESTprotocol_versionZHTTP_VERSION_NOT_SUPPORTEDpath
startswithlstriphttpclientZ
parse_headersrfileMessageClassheadersZLineTooLongZREQUEST_HEADER_FIELDS_TOO_LARGEZ
HTTPExceptiongetlowerhandle_expect_100)rversionr&wordsrr.Zbase_version_numberZversion_numbererrZconntypeZexpectrrr
parse_requests












z$BaseHTTPRequestHandler.parse_requestcCs|jtj|jdS)NT)send_response_onlyrZCONTINUEend_headers)rrrrr8nsz(BaseHTTPRequestHandler.handle_expect_100cCsy|jjd|_t|jdkr@d|_d|_d|_|jtj	dS|jsPd|_
dS|js\dSd|j}t||s|jtj
d|jdSt||}||jjWn4tjk
r}z|jd|d|_
dSd}~XnXdS)NiirTZdo_zUnsupported method (%r)zRequest timed out: %r)r3readliner$r(r&r!rr,rZREQUEST_URI_TOO_LONGr"r<hasattrNOT_IMPLEMENTEDgetattrwfileflushr
Ztimeout	log_error)rZmnamemethoderrrhandle_one_requests4


z)BaseHTTPRequestHandler.handle_one_requestcCs&d|_|jx|js |jqWdS)NT)r"rH)rrrrhandleszBaseHTTPRequestHandler.handleNcCs
y|j|\}}Wntk
r.d\}}YnX|dkr<|}|dkrH|}|jd|||j|||jddd}|dkr|tjtjtjfkr|j	|t
j|ddt
j|ddd}|jd	d
}|jd|j
|jdtt||j|jd
ko|r|jj|dS)N???zcode %d, message %srrF)quote)codemessageexplainzUTF-8replacezContent-TypezContent-LengthZHEAD)rJrJ)	responsesKeyErrorrE
send_responsesend_headerrZ
NO_CONTENTZ
RESET_CONTENTZNOT_MODIFIEDerror_message_formathtmlescapeencodeerror_content_typer#r(r>rrCwrite)rrMrNrOZshortmsgZlongmsgZbodyZcontentrrrr,s4
z!BaseHTTPRequestHandler.send_errorcCs:|j||j|||jd|j|jd|jdS)NZServerZDate)log_requestr=rTversion_stringdate_time_string)rrMrNrrrrSs
z$BaseHTTPRequestHandler.send_responsecCsd|jdkr`|dkr0||jkr,|j|d}nd}t|ds@g|_|jjd|j||fjdddS)NzHTTP/0.9rr_headers_bufferz
%s %d %s
zlatin-1strict)r!rQr@r^appendr-rX)rrMrNrrrr=s


z)BaseHTTPRequestHandler.send_response_onlycCsl|jdkr6t|dsg|_|jjd||fjdd|jdkrh|jdkrVd|_n|jd	krhd
|_dS)NzHTTP/0.9r^z%s: %s
zlatin-1r_Z
connectionrTz
keep-aliveF)r!r@r^r`rXr7r")rkeywordvaluerrrrTs

z"BaseHTTPRequestHandler.send_headercCs"|jdkr|jjd|jdS)NzHTTP/0.9s
)r!r^r`
flush_headers)rrrrr>s
z"BaseHTTPRequestHandler.end_headerscCs(t|dr$|jjdj|jg|_dS)Nr^)r@rCrZjoinr^)rrrrrcs
z$BaseHTTPRequestHandler.flush_headers-cCs.t|tr|j}|jd|jt|t|dS)Nz
"%s" %s %s)
isinstancerrblog_messager&r#)rrMsizerrrr[s
z"BaseHTTPRequestHandler.log_requestcGs|j|f|dS)N)rh)rformatargsrrrrE!sz BaseHTTPRequestHandler.log_errorcGs&tjjd|j|j||fdS)Nz%s - - [%s] %s
)sysstderrrZaddress_stringlog_date_time_string)rrjrkrrrrh/sz"BaseHTTPRequestHandler.log_messagecCs|jd|jS)N )server_versionsys_version)rrrrr\Esz%BaseHTTPRequestHandler.version_stringcCs |dkrtj}tjj|ddS)NT)Zusegmt)timeemailZutilsZ
formatdate)rZ	timestamprrrr]Isz'BaseHTTPRequestHandler.date_time_stringc	CsBtj}tj|\	}}}}}}}}	}
d||j|||||f}|S)Nz%02d/%3s/%04d %02d:%02d:%02d)rsZ	localtime	monthname)rZnowZyearZmonthZdayZhhZmmZssxyzsrrrroOs
z+BaseHTTPRequestHandler.log_date_time_stringZMonZTueZWedZThuZFriZSatZSunZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDeccCs
|jdS)Nr)client_address)rrrrrn]sz%BaseHTTPRequestHandler.address_stringzHTTP/1.0cCsi|]}|j|jf|qSr)phraseZdescription).0vrrr
<dictcomp>lsz!BaseHTTPRequestHandler.<dictcomp>)NN)N)N)rfrf)N)*rrrrlr9r'rr__version__rqDEFAULT_ERROR_MESSAGErUDEFAULT_ERROR_CONTENT_TYPErYr r<r8rHrIr,rSr=rTr>rcr[rErhr\r]roZweekdaynamerurnr-r1r2ZHTTPMessager4r__members__valuesrQrrrrrs<ig%
5



	c@sxeZdZdeZddZddZddZdd	Zd
dZ	dd
Z
ddZej
sVejejjZejddddddS)rzSimpleHTTP/c
Cs.|j}|r*z|j||jWd|jXdS)N)	send_headcopyfilerCr)rfrrrdo_GETs
zSimpleHTTPRequestHandler.do_GETcCs|j}|r|jdS)N)rr)rrrrrdo_HEADsz SimpleHTTPRequestHandler.do_HEADc	Csx|j|j}d}tjj|rtjj|j}|jjds|jt	j
|d|d|dd|d|df}tjj|}|jd||j
dSx6dD]$}tjj||}tjj|r|}PqW|j|S|j|}yt|d
}Wn$tk
r|jt	jddSXyZ|jt	j|jd|tj|j}|jd
t|d|jd|j|j|j
|S|jYnXdS)NrrrrrZLocation
index.html	index.htmrbzFile not foundzContent-typezContent-Lengthz
Last-Modified)rr)translate_pathr.osisdirurllibparseZurlsplitendswithrSrZMOVED_PERMANENTLYZ
urlunsplitrTr>reexistslist_directory
guess_typeopenOSErrorr,	NOT_FOUNDOKfstatfilenor#r]st_mtimer)	rr.rpartsZ	new_partsZnew_urlindexZctypeZfsrrrrsF


z"SimpleHTTPRequestHandler.send_headc
Csytj|}Wn"tk
r0|jtjddSX|jdddg}ytjj	|j
dd}Wn tk
r|tjj	|}YnXtj
|dd}tj}d	|}|jd
|jd|jd||jd
||jd||jdx~|D]v}tj
j||}|}	}
tj
j|r"|d}	|d}
tj
j|r8|d}	|jdtjj|
ddtj
|	ddfqW|jddj|j|d}tj}|j||jd|jtj|jdd||jdtt||j|S)NzNo permission to list directorycSs|jS)N)r7)arrr<lambda>sz9SimpleHTTPRequestHandler.list_directory.<locals>.<lambda>)key
surrogatepass)errorsF)rLzDirectory listing for %szZ<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">z
<html>
<head>z@<meta http-equiv="Content-Type" content="text/html; charset=%s">z<title>%s</title>
</head>z<body>
<h1>%s</h1>z	<hr>
<ul>r@z<li><a href="%s">%s</a></li>z</ul>
<hr>
</body>
</html>

surrogateescaperzContent-typeztext/html; charset=%szContent-Length) rlistdirrr,rrsortrrunquoter.UnicodeDecodeErrorrVrWrlgetfilesystemencodingr`rerislinkrLrXioBytesIOrZseekrSrrTr#r(r>)
rr.listrZdisplaypathenctitlenamefullnameZdisplaynameZlinknameZencodedrrrrrs\







z'SimpleHTTPRequestHandler.list_directorycCs|jddd}|jddd}|jjd}ytjj|dd}Wn tk
rbtjj|}YnXtj|}|jd}t	d|}t
j}x8|D]0}t
jj
|s|t
jt
jfkrqt
jj||}qW|r|d7}|S)N?rr#rr)r)r'r%rrrrr	posixpathnormpathfilterrgetcwdr.dirnamecurdirpardirre)rr.Ztrailing_slashr:Zwordrrrrs$	



z'SimpleHTTPRequestHandler.translate_pathcCstj||dS)N)shutilZcopyfileobj)rsourceZ
outputfilerrrrsz!SimpleHTTPRequestHandler.copyfilecCsLtj|\}}||jkr"|j|S|j}||jkr>|j|S|jdSdS)Nr)rsplitextextensions_mapr7)rr.baseZextrrrr)s



z#SimpleHTTPRequestHandler.guess_typezapplication/octet-streamz
text/plain)rz.pyz.cz.hN)rrrrrqrrrrrrr	mimetypesZinitedZinitZ	types_mapcopyrupdaterrrrrrs 
	1:
c	Cs|jd\}}}tjj|}|jd}g}x<|ddD],}|dkrN|jq8|r8|dkr8|j|q8W|r|j}|r|dkr|jd}q|dkrd}nd}|rdj||f}ddj||f}dj|}|S)Nrrrz..rr)	partitionrrrr'popr`re)	r._query
path_partsZ
head_partspartZ	tail_partZ	splitpathcollapsed_pathrrr_url_collapse_pathNs.


rcCsptrtSyddl}Wntk
r(dSXy|jddaWn.tk
rjdtdd|jDaYnXtS)Nrrnobodyrcss|]}|dVqdS)rNr)r|rvrrr	<genexpr>sznobody_uid.<locals>.<genexpr>r)rpwdImportErrorgetpwnamrRmaxZgetpwall)rrrr
nobody_uids rcCstj|tjS)N)raccessX_OK)r.rrr
executablesrc@sReZdZeedZdZddZddZddZ	d	d
gZ
ddZd
dZddZ
dS)rforkrcCs$|jr|jn|jtjddS)NzCan only POST to CGI scripts)is_cgirun_cgir,rrA)rrrrdo_POSTs

zCGIHTTPRequestHandler.do_POSTcCs|jr|jStj|SdS)N)rrrr)rrrrrszCGIHTTPRequestHandler.send_headcCsPt|j}|jdd}|d|||dd}}||jkrL||f|_dSdS)NrrTF)rr.findcgi_directoriescgi_info)rrZdir_sepheadtailrrrrs


zCGIHTTPRequestHandler.is_cgiz/cgi-binz/htbincCst|S)N)r)rr.rrr
is_executablesz#CGIHTTPRequestHandler.is_executablecCstjj|\}}|jdkS)N.py.pyw)rr)rr.rr7)rr.rrrrr	is_pythonszCGIHTTPRequestHandler.is_pythonc)Cs|j\}}|d|}|jdt|d}x`|dkr|d|}||dd}|j|}tjj|r||}}|jdt|d}q,Pq,W|jd\}}}	|jd}|dkr|d|||d}
}n
|d}
}|d|
}|j|}tjj|s|j	t
jd|dStjj|s2|j	t
j
d|dS|j|}
|jsL|
rn|j|sn|j	t
j
d|dStjtj}|j|d	<|jj|d
<d|d<|j|d
<t|jj|d<|j|d<tjj|}||d<|j||d<||d<|	r|	|d<|jd|d<|jj d}|r|j!}t|dkrddl"}ddl#}|d|d<|dj$dkry"|dj%d}|j&|j'd}Wn|j(t)fk
rYn&X|j!d}t|dkr|d|d<|jj ddkr|jj*|d<n|jd|d<|jj d}|r||d<|jj d }|r"||d!<g}xN|jj+d"D]>}|ddd#krZ|j,|j-n||d$dj!d%}q4Wd%j.||d&<|jj d'}|r||d(<t/d|jj0d)g}d*j.|}|r||d+<xd<D]}|j1|dqW|j2t
j3d-|j4|	j5d.d/}|jr.|
g}d0|kr*|j,|t6}|j7j8tj9}|dkrtj:|d\}}x0t;j;|j<gggddr|j<j=ds^Pq^W|r|j>d1|dSy\ytj?|Wnt@k
rYnXtjA|j<jBdtjA|j7jBdtjC|||Wn(|jjD|jE|jtjFd2YnXnddlG} |g}!|j|rtHjI}"|"j$jJd3rv|"dd=|"d>d}"|"d6g|!}!d0|	kr|!j,|	|jKd7| jL|!ytM|}#WntNtOfk
rd}#YnX| jP|!| jQ| jQ| jQ|d8}$|jj$d9kr|#dkr|j<j=|#}%nd}%x4t;j;|j<jRgggddrN|j<jRjSdsPqW|$jT|%\}&}'|j7jU|&|'r||j>d:|'|$jVjW|$jXjW|$jY}(|(r|j>d1|(n
|jKd;dS)?NrrrrrzNo such CGI script (%r)z#CGI script is not a plain file (%r)z!CGI script is not executable (%r)ZSERVER_SOFTWAREZSERVER_NAMEzCGI/1.1ZGATEWAY_INTERFACEZSERVER_PROTOCOLZSERVER_PORTZREQUEST_METHODZ	PATH_INFOZPATH_TRANSLATEDZSCRIPT_NAMEQUERY_STRINGZREMOTE_ADDR
authorizationrZ	AUTH_TYPEZbasicascii:ZREMOTE_USERzcontent-typeZCONTENT_TYPEzcontent-lengthCONTENT_LENGTHrefererHTTP_REFERERacceptz	

 ,ZHTTP_ACCEPTz
user-agentHTTP_USER_AGENTZcookiez, HTTP_COOKIEREMOTE_HOSTzScript output follows+rp=zCGI script exit status %#xzw.exerrz-uzcommand: %s)stdinstdoutrmenvZpostz%szCGI script exited OK)rrrrrr)Zrrr(rrr.rrrr,rrisfileZ	FORBIDDENr	have_forkrrdeepcopyenvironr\Zserverrr-r#rrrrrrzr5r6r'base64binasciir7rXZdecodebytesdecodeErrorUnicodeErrorZget_content_typeZgetallmatchingheadersr`striprerZget_all
setdefaultrSrrcrPrrCrDrwaitpidselectr3readrEsetuidrdup2rexecveZhandle_errorZrequest_exit
subprocessrlrrrhZlist2cmdliner*	TypeErrorr)PopenPIPEZ_sockZrecvZcommunicaterZrmrr
returncode))rdirrestr.iZnextdirZnextrestZ	scriptdirrrZscriptZ
scriptnameZ
scriptfileZispyrZuqrestrrrZlengthrrlineZuacoZ
cookie_strkZ
decoded_queryrkrpidstsrZcmdlineZinterpnbytespdatarrmZstatusrrrrs4

























zCGIHTTPRequestHandler.run_cgiN)rrrr@rrZrbufsizerrrrrrrrrrrrs
zHTTP/1.0i@rc	Cs||f}||_|||b}|jj}d}t|j|d|ddy|jWn&tk
rttdtjdYnXWdQRXdS)Nz>Serving HTTP on {host} port {port} (http://{host}:{port}/) ...rr)rrz&
Keyboard interrupt received, exiting.)	r-r
ZgetsocknameprintrjZ
serve_foreverKeyboardInterruptrlexit)	HandlerClassZServerClassZprotocolrbindrZhttpdZsaZ
serve_messagerrrtests
r$__main__z--cgi
store_truezRun as CGI Server)actionhelpz--bindz-bZADDRESSz8Specify alternate bind address [default: all interfaces])defaultmetavarr(rZstorerz&Specify alternate port [default: 8000])r'r)typenargsr()r"rr#).r__all__Zemail.utilsrtrVZhttp.clientr1rrrrr	rr
r	rlrsZurllib.parserrargparserrrr
rZStreamRequestHandlerrrrrrrrr$rArgumentParserparseradd_argumentr*
parse_argsrkZcgiZ
handler_classrr#rrrr<module>Sshg]0