HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/supervisor/__pycache__/http_client.cpython-36.pyc
3

�k�`v�@s�ddlZddlZddlmZddlmZddlmZddlmZddlmZddlm	Z
dZd	ZeeZ
Gd
d�de�ZGdd
�d
e
j�ZdS)�N)�as_bytes)�	as_string)�encodestring)�PY2)�urlparse)�asynchat_25�
�
c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�ListenercCsdS)N�)�self�url�statusrr�!/usr/lib/python3.6/http_client.pyrszListener.statuscCstjjd||f�dS)Nz%s %s
)�sys�stderr�write)rr
�errorrrrrszListener.errorcCsdS)Nr)rr
�name�valuerrr�response_headerszListener.response_headercCsdS)Nr)rr
rrr�donesz
Listener.donecCs�yt|�}Wntk
r(d|}YnXytjj|�Wn:tk
rttr\tjj|�ndtjj}t|��YnXtjj	�dS)NzUndecodable: %rz<Unable to write Unicode to stdout because it has encoding %s)
r�UnicodeDecodeErrorr�stdoutr�UnicodeEncodeErrorr�encoding�
ValueError�flush)rr
�dataZsdata�srrr�feeds
z
Listener.feedcCsdS)Nr)rr
rrr�close4szListener.closeN)	�__name__�
__module__�__qualname__rrrrr r!rrrrr
sr
c@s�eZdZd'dd�Zd(dd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�ZdS))�HTTPHandler�NcCsttjj|||�||_d|_d|_|jt�d|_|j	|_
d|_d|_d|_
d|_d|_||_||_d|_d|_dS)NzSupervisor HTTP Client�rF)�asynchat�
async_chat�__init__�listener�
user_agent�buffer�set_terminator�CRLF�	connected�status_line�part�
chunk_sizeZ
chunk_readZlength_read�lengthr�username�passwordr
�
error_handled)rr+r5r6Zconn�maprrrr*8s 
zHTTPHandler.__init__c
Cs�|jdk	rtd��|||_tj|j�\}}}}}}|dkr@t�||_d|krh|jdd�\}	}
t|
�}
n|}	d}
||_|
|_|dkr�|	}|j	t
jt
j�|j
||jf�n.|dkr�|dd�}|j	t
jt
j�|j
|�dS)	NzAlready doing a get�http�unix�:��P�)r9r:)r
�AssertionErrorr�NotImplementedError�host�split�int�path�portZ
create_socket�socketZAF_INETZSOCK_STREAMZconnectZAF_UNIX)
rZ	serverurlrD�schemerAZpath_ignoredZparamsZqueryZfragmentZhostnamerEZipZ
socketnamerrr�getQs.


zHTTPHandler.getcCs0|jj|j�d|_|j�|jj�d|_dS)NrZCLOSED)r+r!r
r0Zdel_channelrF)rrrrr!ms

zHTTPHandler.closecCs |jd||f�|jt�dS)Nz%s: %s)�pushr/)rrrrrr�headertszHTTPHandler.headercCs^|jr
dSds|jrZtj�\}}}d||f}|jj|j|�|j|_|j	�d|_~~~dS)Nr<zCannot connect, error: %s (%s)T)
r7r0r�exc_infor+rr
�ignorer2r!)r�t�v�tb�msgrrr�handle_errorxs
zHTTPHandler.handle_errorcCs�d|_d}d}|jd||j|f�|jt�|jd|j�|jdd�|jdd	�|jd
|j�|jr�d|j|jf}t	t
t|���j�}|jdd
|�|jt�|jt�dS)Nr<ZGETzHTTP/1.1z%s %s %sZHostzAccept-EncodingZchunkedZAcceptz*/*z
User-agentz%s:%sZ
AuthorizationzBasic %s)
r0rIrDr/rJrAr,r6r5rrr�strip)r�method�versionZauthrrr�handle_connect�s

zHTTPHandler.handle_connectcCs|jj|j|�dS)N)r+r r
)rrrrrr �szHTTPHandler.feedcCs.|j||_|j|jkr*|j|j�d|_dS)Nr')r-r2�bodyr )r�bytesrrr�collect_incoming_data�sz!HTTPHandler.collect_incoming_datacCs|j�d|_dS)Nr')r2r-)rrrr�found_terminator�szHTTPHandler.found_terminatorcCs
d|_dS)Nr')r-)rrrrrL�szHTTPHandler.ignorecCs�|j}|jdd�\}}}t|�}|jd�s2t|��|jj|j|�|dkrT|j|_	n(|j
|_	d|}|jj|j|�|j�|||fS)N�sHTTP/��zCannot read, status code %s)
r-rBrC�
startswithrr+rr
�headersr2rLrr!)r�linerTr�reasonrPrrrr1�s

zHTTPHandler.status_linecCs�|j}|s4|jdkr|j|_q�|j|_|j|j�nV|jdd�\}}|r�|r�|j�}|j	�}|dkrl||_n|dkr~t
|�|_|j||�dS)Nschunked�:r<stransfer-encodingscontent-length)r-r�chunked_sizer2rVr.r4rB�lowerrRrCr)rr^rrrrrr]�s


zHTTPHandler.headerscCs|jj|j||�dS)N)r+rr
)rrrrrrr�szHTTPHandler.response_headercCs|j�|j�dS)N)rr!)rrrrrV�szHTTPHandler.bodycCs|jj|j�dS)N)r+rr
)rrrrr�szHTTPHandler.donecCsV|j}|sdSt|j�dd�}|dkr2|j|_n|j|�|j|_|j|7_dS)Nr�)r-rCrB�trailerr2r.�chunked_bodyr4)rr^r3rrrra�s

zHTTPHandler.chunked_sizecCs&|j}|jt�|j|_|j|�dS)N)r-r.r/rar2r )rr^rrrre�s
zHTTPHandler.chunked_bodycCs"|j}|tkr|j�|j�dS)N)r-r/rr!)rr^rrrrd�szHTTPHandler.trailer)r&NNN)r&)r"r#r$r*rHr!rJrQrUr rXrYrLr1r]rrVrrarerdrrrrr%7s*

r%)rrFZsupervisor.compatrrrrrZsupervisor.medusarr(ZCRZLFr/�objectr
r)r%rrrr�<module>s&