403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib64/python3.9/site-packages/mercurial/hgweb/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib64/python3.9/site-packages/mercurial/hgweb/__pycache__/server.cpython-39.opt-1.pyc
a

�+�b7�@srddlmZddlZddlZddlZddlZddlZddlZddlZ	ddl
mZddlm
Z
mZddlmZmZmZmZddlmZejZejZejZejZdd	lmZd
d�ZGdd
�d
e�ZGdd�dej�ZGdd�de�Z zddl!Z!e!�"�ej#Z$Wn:e%�y6e�&ed��r"ej'Z$nGdd�de�Z$Yn0dd�Z(Gdd�de$eje�Z)Gdd�de)�Z*dd�Z+dS)�)�absolute_importN�)�_)�getattr�open)�encoding�error�pycompat�util)�urlutil�)�commoncCs2d|vr|�dd�\}}n
|d}}t�|�|fS)z�Return path and query that has been split from uri

    Just like CGI environment, the path is unquoted, the query is
    not.
    �?r�)�split�urlreq�unquote)Zuri�path�query�r�</usr/lib64/python3.9/site-packages/mercurial/hgweb/server.py�	_splitURI+s
rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
_error_loggercCs
||_dS�N)�handler)�selfrrrr�__init__9sz_error_logger.__init__cCsdSrr�rrrr�flush<sz_error_logger.flushcCs|�|�d��dS)N�
)�
writelinesr)r�strrrr�write?sz_error_logger.writecCs"|D]}|j�dt�|��qdS)Nz
HG error:  %s)r�	log_errorr�strfromlocal)r�seq�msgrrrr Bsz_error_logger.writelinesN)�__name__�
__module__�__qualname__rrr"r rrrrr8src@s�eZdZdZedd��Zdd�Zdd�Zdd	�Zd
d�Z	d$d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd%dd�Zdd�Zd d!�Zd"d#�ZdS)&�_httprequesthandlershttpcCsdS)z*Prepare .socket of new HTTPServer instanceNr)�
httpserver�uirrr�preparehttpserverKsz%_httprequesthandler.preparehttpservercOs$d|_tjj|g|�Ri|��dS)N�HTTP/1.1)Zprotocol_version�
httpservermod�basehttprequesthandlerr)r�argsZkargsrrrrOsz_httprequesthandler.__init__c	Gs8|�t�d|jd|��||f�d�|��dS)Nz%s - - [%s] %srr)r"r	Zsysbytes�client_addressZlog_date_time_stringr)r�fp�formatr1rrr�_log_anySs�����z_httprequesthandler._log_anycGs|j|jj|g|�R�dSr)r5�server�errorlog�rr4r1rrrr#asz_httprequesthandler.log_errorcGs|j|jj|g|�R�dSr)r5r6�	accesslogr8rrr�log_messagedsz_httprequesthandler.log_message�-cCsXg}t�|d�r$dd�|j��D�}|�d|jt|�t|�d�dd�t|�D���dS)NsheaderscSsg|]}|d�d�r|�qS)rzx-)�
startswith��.0�hrrr�
<listcomp>jsz3_httprequesthandler.log_request.<locals>.<listcomp>z"%s" %s %s%srcSsg|]}d|�qS)z %s:%srr=rrrr@r�)	r
�safehasattr�headers�itemsr:Zrequestliner!�join�sorted)r�code�sizeZxheadersrrr�log_requestgs��z_httprequesthandler.log_requestc
CsFz|��Wn4tjy@}z|jtjkr,�WYd}~n
d}~00dSr)�do_hgweb�socketr�errnoZEPIPE)r�instrrr�do_writeus
z_httprequesthandler.do_writec
Cs�z|��Wn�ty�}ztt|ttjf�r8|jtjksfd�t	j
t����}t
d�}|�d|j||�|�dg�|�d�|��WYd}~n
d}~00dS)Nr�
z6Exception happened during processing request '%s':%s%sz500 Internal Server ErrorsInternal Server Error)rN�	Exception�
isinstance�OSErrorrKrrLZ
ECONNRESETrE�	traceback�format_exception�sys�exc_info�chrr#r�_start_response�_write�_done)r�e�tb�newlinerrr�do_POST|s$�
��
z_httprequesthandler.do_POSTcCs|��dSr�r^rrrr�do_PUT�sz_httprequesthandler.do_PUTcCs|��dSrr_rrrr�do_GET�sz_httprequesthandler.do_GETc	Cs�d|_t|j�\}}||jjkrr|�|jjd�sr|�t�t	�
d��g�|jdkr\dg|_|�
d�|��dSi}d|d<|j|d	<|jj|d
<t|jj�|d<|j|d<t�|jj�|d
<t�|t|jj�d��|d<|jd|d<|jd|d<|�pd|d<tj�rL|j��du�r0|j��|d<n|j��|d<|j�d�}n4|jjdu�rh|jj|d<n|jj|d<|j�d�}|�r�||d<dd�|j��D�D]D}d|�dd���}|j�|�}|�dd�� �}|�r�|||<�q�|j!|d<d|d<t�|j"�|d <|�d!d"��#�d#k�r4t	�$|j%|j&j'�|_%|j%|d$<t(|�|d%<t)|jt*j+�|d&<t,�-t*d'��r~t)|jt*j.�|d(<nd|d(<d|d)<t/j0�1|�d|_2g|_d|_3d|_4|j�5||j�D]}|�
|��q�|j�s�|�6�|��dS)*NF�/i�ZPOST)�
ConnectionZCloses	Not FoundzCGI/1.1ZGATEWAY_INTERFACEZREQUEST_METHODZSERVER_NAMEZSERVER_PORTZREQUEST_URIZSCRIPT_NAMEZ	PATH_INFOrZREMOTE_HOSTZREMOTE_ADDRrZQUERY_STRINGZCONTENT_TYPE�content-lengthZCONTENT_LENGTHcSsg|]}|��dvr|�qS))zcontent-typerd��lowerr=rrrr@�s�z0_httprequesthandler.do_hgweb.<locals>.<listcomp>ZHTTP_r;r�
ZSERVER_PROTOCOL)rrzwsgi.versionzwsgi.url_schemeZHTTP_EXPECTrAs100-continuez
wsgi.inputzwsgi.errorszwsgi.multithreadsForkingMixInzwsgi.multiprocessz
wsgi.run_once)7�sent_headersrrr6�prefixr<rXr	Zstrurlr
Z
statusmessageZcommand�
saved_headersrYrZ�server_namer!Zserver_portZsysstr�lenr2Zispy3rCZget_content_typeZget_default_type�getZ
typeheader�typeZ	getheader�keys�replace�upper�strip�request_version�
url_schemerfZcontinuereader�rfile�wfiler"rrQ�socketserver�ThreadingMixInr
rB�ForkingMixIn�wsgirefZvalidateZ
check_environ�saved_status�length�_chunked�application�send_headers)	rrr�envr|�header�hkeyZhval�chunkrrrrJ�s�
�



�


��
z_httprequesthandler.do_hgwebcCs�|jstd��|j�dd�}t|d�|d<|j|�d|_d|_|jD],}|j|�|d�	�dkrHt|d�|_qH|jdur�|dt
jkr�|jo�|j
dk|_|jr�|�dd�n|�d	d
�|��d|_dS)Ns.Sending headers before start_response() calledrrFrdr.zTransfer-EncodingZchunkedrc�closeT)r{�AssertionErrorr�intZ
send_responser|r}rjZsend_headerrfr
ZHTTP_NOT_MODIFIEDZclose_connectionrsZend_headersrh)rr{r?rrrr�s*�


�z _httprequesthandler.send_headersNcs<|�dd�\}}t|�}||_d��fdd�|D�|_|jS)Nr)�
connectionztransfer-encodingcs g|]}|d���vr|�qS)rrer=�Zbad_headersrrr@sz7_httprequesthandler._start_response.<locals>.<listcomp>)rr�r{rjrY)rZhttp_statusrCrVrGr&rr�rrXs
�z#_httprequesthandler._start_responsecCs�|jstd��n|js|��|jdurPt|�|jkr>td��|jt|�|_n|jrj|rjdt|�|f}|j�|�|j�	�dS)Ns+data written before start_response() calledsLContent-length header sent, but more bytes than specified are being written.s%x
%s
)
r{r�rhrr|rlr}rvr"r)r�datarrrrYs

�
z_httprequesthandler._writecCs |jr|j�d�|j��dS)Ns0

)r}rvr"rrrrrrZ*sz_httprequesthandler._donecCs"|jjrt�|jj�Stj�|�Sr)r6�serverheaderrr$r/r0�version_stringrrrrr�/sz"_httprequesthandler.version_string)r;r;)N)r'r(r)rt�staticmethodr-rr5r#r:rIrNr^r`rarJrrXrYrZr�rrrrr*Gs$

X
r*c@s(eZdZdZdZedd��Zdd�ZdS)�_httprequesthandlersslz*HTTPS handler based on Python's ssl moduleshttpscCsxzddlm}|jWn ty6t�td���Yn0|�dd�}|�dd�}|�dd�}|j|j	||||d	�|_	dS)
Nr)�sslutilsSSL support is unavailable�web�certificatesdevelsservercafilesserverrequirecert)�certfile�cafileZrequireclientcert)
rr�Zwrapserversocket�ImportErrorr�Abortr�config�
configboolrK)r+r,r�r�r�Zreqcertrrrr-:s
�z(_httprequesthandlerssl.preparehttpservercCs0|j|_|j�d|j�|_|j�d|j�|_dS)N�rb�wb)Zrequestr�ZmakefileZrbufsizeruZwbufsizervrrrr�setupRsz_httprequesthandlerssl.setupN)r'r(r)�__doc__rtr�r-r�rrrrr�5s

r�sforkc@seZdZdS)�_mixinN)r'r(r)rrrrr�bsr�cCs|r|dkrt|d�S|S)N�-sab)r)�opt�defaultrrr�openlogfs
r�c@seZdZejrdZdd�ZdS)�MercurialHTTPServerrc	Ks�tjj|||fi|��d|_||_|�||�|�dd�}|rNd|�d�}||_t	|�dd�|j
�}t	|�dd�|j�}||_||_
|j��dd�\|_|_|j|_|�dd	�|_dS)
NTr�sprefixrbs	accesslogserrorlogrrs
server-header)r/r+rZdaemon_threadsr~r-r�rrrir�ZfoutZferrr9r7rKZgetsockname�addr�portrkZfqaddrr�)	rr,�appr�r�kwargsriZalogZelogrrrrrszMercurialHTTPServer.__init__N)r'r(r)r	Z	iswindowsZallow_reuse_addressrrrrrr�lsr�cs(eZdZeedd�Z�fdd�Z�ZS)�IPv6HTTPServerZAF_INET6Ncs2|jdurt�td���tt|�j|i|��dS)Ns$IPv6 is not available on this system)�address_familyrZ	RepoErrorr�superr�r)rr1r���	__class__rrr�s
zIPv6HTTPServer.__init__)r'r(r)rrKr�r�
__classcell__rrr�rr��sr�c	Cs,|�dd�rt}nt}|�dd�r(t}nt}zddl}|��Wnfty�t	j
zt�t	�Wnt
y|tt	�Yn0t	��}t	�d�|��t	�|�Yn0|�dd�}t�|�dd��}z|||||f|�WStj�y&}z0t�td�||t�|jd	�f��WYd}~n
d}~00dS)
Nr�r�sipv6rslatin1saddresssports"cannot start server at '%s:%d': %sr)r�r�r*r�r�r��	mimetypes�init�UnicodeDecodeErrorrU�argv�	importlib�reload�AttributeError�getdefaultencodingZsetdefaultencodingrZgetportrKrr�rrZ
strtolocalr1)	r,r�r�clsr�ZoldencZaddressr�rMrrr�
create_server�s:
��r�),Z
__future__rrLr��osrKrUrSZwsgiref.validaterzZi18nrr	rrrrrr
Zutilsrr+r/rwZurlerrrr
r�objectrr0r*r��	threading�active_countrxr�r�rBryr�r�r�r�rrrr�<module>	sB
o#
	

Youez - 2016 - github.com/yon3zu
LinuXploit