HEX
Server: Apache
System: Linux p102.lithium.hosting 4.18.0-553.141.1.el8_10.x86_64 #1 SMP Fri Jul 10 17:48:02 UTC 2026 x86_64
User: bvzmoamr (9955)
PHP: 8.1.34
Disabled: syslog
Upload Files
File: //lib64/python2.7/site-packages/mercurial/hgweb/server.pyc
�
1�3\c@@s�ddlmZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
mZmZejZejZejZejZddlmZd�Zd	efd
��YZdejfd��YZd
efd��YZy#ddlZej�ejZWnEe k
rvej!ed�r]ej"Zqwdefd��YZnXd�Z#deejefd��YZ$de$fd��YZ%d�Z&dS(i(tabsolute_importNi(t_(tencodingterrortpycompattutili(tcommoncC@sGd|kr'|jdd�\}}n
|d}}tj|�|fS(s�Return path and query that has been split from uri

    Just like CGI environment, the path is unquoted, the query is
    not.
    t?it(tsplitturlreqtunquote(turitpathtquery((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyt	_splitURI$s
t
_error_loggercB@s,eZd�Zd�Zd�Zd�ZRS(cC@s
||_dS(N(thandler(tselfR((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyt__init__1scC@sdS(N((R((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytflush3scC@s|j|jd��dS(Ns
(t
writelinesR	(Rtstr((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytwrite5scC@s(x!|D]}|jjd|�qWdS(Ns
HG error:  %s(Rt	log_error(Rtseqtmsg((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR7s
(t__name__t
__module__RRRR(((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR0s			t_httprequesthandlercB@s�eZdZed��Zd�Zd�Zd�Zd�Zddd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zdd�Zd�Zd�Zd�ZRS(thttpcC@sdS(s*Prepare .socket of new HTTPServer instanceN((t
httpservertui((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytpreparehttpserver?RcO@s#d|_tjj|||�dS(NsHTTP/1.1(tprotocol_versiont
httpservermodtbasehttprequesthandlerR(Rtargstkargs((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyRCs	cG@sF|jtjd|jd|j�||f�d�|j�dS(Ns%s - - [%s] %sis
(RRtsysbytestclient_addresstlog_date_time_stringR(RtfptformatR%((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyt_log_anyGs

	cG@s|j|jj||�dS(N(R,tserverterrorlog(RR+R%((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyRNscG@s|j|jj||�dS(N(R,R-t	accesslog(RR+R%((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytlog_messageQst-c
C@s�g}tj|d�rPg|jj�D]}|djd�r(|^q(}n|jd|jt|�t|�djgt	|�D]}d|^q���dS(Ntheadersisx-s"%s" %s %s%sRs %s:%s(
RtsafehasattrR2titemst
startswithR0trequestlineRtjointsorted(Rtcodetsizetxheadersth((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytlog_requestTs"	cC@sDy|j�Wn/tjk
r?}|dtjkr@�q@nXdS(Ni(tdo_hgwebtsocketRterrnotEPIPE(Rtinst((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytdo_write]s
cC@s�y|j�Wn{tk
r�|jdg�|jd�|j�djtjtj	���}t
d�}|jd|j||�nXdS(Ns500 Internal Server ErrorsInternal Server ErrorRi
s6Exception happened during processing request '%s':%s%s(
RCt	Exceptiont_start_responset_writet_doneR7t	tracebacktformat_exceptiontsystexc_infotchrRR
(Rttbtnewline((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytdo_POSTds


	cC@s|j�dS(N(RO(R((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytdo_PUTsscC@s|j�dS(N(RO(R((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytdo_GETvsc
C@st|_t|j�\}}||jjkr�|j|jjd�r�|jtj	t
jd��g�|jdkr�d(g|_
n|jd�|j�dSi}d|d<|j|d	<|jj|d
<t|jj�|d<|j|d<tj|jj�|d
<tj|t|jj��|d<|jd|d<|jd|d<|p\d|d<tjr�|jj�dkr�|jj�|d<n|jj�|d<|jjd�}nG|jjdkr�|jj|d<n|jj|d<|jjd�}|r||d<nx�g|jj�D]}|d)kr,|^q,D]_}d|j dd�j!�}|jj|�}|j dd�j"�}|rH|||<qHqHW|j#|d<d*|d<tj|j$�|d<|jd d�j%�d!krt
j&|j'|j(j)�|_'n|j'|d"<t*|�|d#<t+|jt,j-�|d$<t.j/t,d%�r{t+|jt,j0�|d&<n
t|d&<d|d'<t1j2j3|�d|_4g|_
d|_5d|_6x-|jj7||j�D]}	|j|	�q�W|js	|j8�n|j�dS(+Nt/i�tPOSTt
ConnectiontCloses	Not FoundsCGI/1.1tGATEWAY_INTERFACEtREQUEST_METHODtSERVER_NAMEtSERVER_PORTtREQUEST_URItSCRIPT_NAMEt	PATH_INFOitREMOTE_HOSTtREMOTE_ADDRRtQUERY_STRINGtCONTENT_TYPEscontent-lengthtCONTENT_LENGTHscontent-typetHTTP_R1Rs\ntSERVER_PROTOCOLiswsgi.versionswsgi.url_schemetHTTP_EXPECTs100-continues
wsgi.inputswsgi.errorsswsgi.multithreadtForkingMixInswsgi.multiprocesss
wsgi.run_once(RTRU(scontent-typescontent-length(ii(9tFalsetsent_headersRR
R-tprefixR5RERtstrurlRt
statusmessagetcommandt
saved_headersRFRGtserver_nameRtserver_porttsysstrtlenR(tispy3R2tget_content_typetNonetget_default_typetgett
typeheaderttypet	getheadertkeystreplacetuppertstriptrequest_versiont
url_schemetlowertcontinuereadertrfiletwfileRRt
isinstancetsocketservertThreadingMixInRR3Retwsgireftvalidatet
check_environtsaved_statustlengtht_chunkedtapplicationtsend_headers(
RR
RtenvR�R<theaderthkeythvaltchunk((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR>ys�	




#	


!
		

					
cC@s1|jstd��n|jjdd�}t|d�|d<|j|�d|_t|_xJ|j	D]?}|j
|�|dj�dkrjt|d�|_qjqjW|jdkr|dtj
kr|jo�|jdk|_|jr|j
dd�q|j
dd	�n|j�t|_dS(
Ns.Sending headers before start_response() callediiscontent-lengthsHTTP/1.1sTransfer-EncodingtchunkedRTtclose(R�tAssertionErrorR	Rstintt
send_responseR�RfR�Rltsend_headerRRtHTTP_NOT_MODIFIEDtclose_connectionR}tend_headerstTrueRg(RR�R<((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR��s(	
		

	
cC@s�t|t�st�|jdd�\}}t|�}||_d}g|D]"}|dj�|krO|^qO|_|j	S(Nit
connectionstransfer-encodingi(R�stransfer-encoding(
R�RR�R	RsR�R�RRlRF(Rthttp_statusR2RKR9Rtbad_headersR<((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyRE�s	
%cC@s�|jstd��n|js.|j�n|jdk	rzt|�|jkratd��n|jt|�|_n(|jr�|r�dt|�|f}n|jj	|�|jj
�dS(Ns+data written before start_response() calledsLContent-length header sent, but more bytes than specified are being written.s%x
%s
(R�R�RgR�R�RsRpR�R�RR(Rtdata((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyRF�s		
cC@s-|jr)|jjd�|jj�ndS(Ns0

(R�R�RR(R((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyRG�s	cC@s/|jjrtj|jj�Stjj|�S(N(R-tserverheaderRtstrfromlocalR#R$tversion_string(R((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR�sN(RRR~tstaticmethodR!RR,RR0R=RCRORPRQR>R�RsRERFRGR�(((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR;s"										S	
		t_httprequesthandlersslcB@s,eZdZdZed��Zd�ZRS(s*HTTPS handler based on Python's ssl modulethttpsc	C@s�yddlm}|jWn&tk
rCtjtd���nX|jdd�}|jdd�}|jdd�}|j	|j
|d	|d
|d|�|_
dS(Ni(tsslutilsSSL support is unavailabletwebtcertificatetdeveltservercafiletserverrequirecerttcertfiletcafiletrequireclientcert(RR�t	modernssltImportErrorRtAbortRtconfigt
configbooltwrapserversocketR?(RR R�R�R�treqcert((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR!s
cC@sF|j|_|jjd|j�|_|jjd|j�|_dS(Ntrbtwb(trequestR�tmakefiletrbufsizeR�twbufsizeR�(R((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytsetup!s(RRt__doc__R~R�R!R�(((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR�stforkt_mixincB@seZRS((RR(((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR�.scC@s#|r|dkrt|d�S|S(NR1tab(topen(topttdefault((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pytopenlog1s
tMercurialHTTPServercB@s#eZejrdZnd�ZRS(ic	K@stjj||||�t|_||_|j||�|jdd�}|rid|jd�}n||_	t
|jdd�|j�}t
|jdd�|j�}||_
||_|jj�dd!\|_|_tj|d�|_|jdd�|_dS(	NR�RhRRR/R.iis
server-header(R#RRR�tdaemon_threadsR�R!R�R|RhR�tfouttferrR/R.R?tgetsocknametaddrtporttgetfqdntfqaddrR�(	RR tappR�RtkwargsRhtalogtelog((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR<s					"(RRRt	iswindowstallow_reuse_addressR(((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR�6s		tIPv6HTTPServercB@s#eZeedd�Zd�ZRS(tAF_INET6cO@sD|jdkr'tjtd���ntt|�j||�dS(Ns$IPv6 is not available on this system(taddress_familyRsRt	RepoErrorRtsuperR�R(RR%R�((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyRTsN(RRtgetattrR?RsR�R(((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyR�Rsc	C@sJ|jdd�rt}nt}|jdd�r<t}nt}yddl}|j�WnRtk
r�t	j
tt	�t	j�}t	j
d�|j�t	j
|�nX|jdd�}tj|jdd��}y|||||f|�SWnHtjk
rE}tjtd�||tj|jd	�f��nXdS(
NR�R�tipv6itlatin1taddressR�s"cannot start server at '%s:%d': %si(R�R�RR�R�R�t	mimetypestinittUnicodeDecodeErrorRJtargvtreloadtgetdefaultencodingtsetdefaultencodingRtgetportR?RR�RRt
strtolocalR%(	R R�RtclsR�toldencR�R�RB((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyt
create_serverYs.		



('t
__future__RR@tosR?RJRHtwsgiref.validateR�ti18nRRRRRRRR#R�turlerrR
RRtobjectRR$RR�t	threadingtactiveCountR�R�R�R3ReR�R�R�R�(((s</usr/lib64/python2.7/site-packages/mercurial/hgweb/server.pyt<module>	s:"					�