GOOD SHELL MAS BOY
Server: Apache/2.4.52 (Ubuntu)
System: Linux vmi1836763.contaboserver.net 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64
User: www-data (33)
PHP: 8.4.10
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/supervisor/__pycache__/http_client.cpython-310.pyc
o

���\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)�ListenercC�dS�N�)�self�url�statusr
r
�8/usr/lib/python3/dist-packages/supervisor/http_client.pyr�zListener.statuscCstj�d||f�dS)Nz%s %s
)�sys�stderr�write)rr�errorr
r
rrszListener.errorcCrrr
)rr�name�valuer
r
r�response_headerrzListener.response_headercCrrr
�rrr
r
r�donerz
Listener.donecCs�zt|�}Wn
tyd|}Ynwztj�|�Wnty8tr,tj�|�n
dtjj}t|��Ynwtj�	�dS)NzUndecodable: %rz<Unable to write Unicode to stdout because it has encoding %s)
r�UnicodeDecodeErrorr�stdoutr�UnicodeEncodeErrorr�encoding�
ValueError�flush)rr�data�sdata�sr
r
r�feeds"����
z
Listener.feedcCrrr
rr
r
r�close4rzListener.closeN)	�__name__�
__module__�__qualname__rrrrr%r&r
r
r
rr
sr
c@s�eZdZ				d'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�NcCsttj�|||�||_d|_d|_|�t�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_size�
chunk_read�length_read�lengthr�username�passwordr�
error_handled)rr0r<r=�conn�mapr
r
rr/8s 

zHTTPHandler.__init__c
Cs�|jdur	td��|||_t�|j�\}}}}}}|dvr t�||_d|vr4|�dd�\}	}
t|
�}
n|}	d}
||_|
|_|dkrV|	}|�	t
jt
j�|�
||jf�dS|dkro|dd�}|�	t
jt
j�|�
|�dSdS)	NzAlready doing a get)�http�unix�:��PrArB�)r�AssertionErrorr�NotImplementedError�host�split�int�path�port�
create_socket�socket�AF_INET�SOCK_STREAM�connect�AF_UNIX)
r�	serverurlrL�schemerI�path_ignored�params�query�fragment�hostnamerM�ip�
socketnamer
r
r�getQs2

�
�zHTTPHandler.getcCs0|j�|j�d|_|��|j��d|_dS)Nr�CLOSED)r0r&rr5�del_channelrO�rr
r
rr&ms


zHTTPHandler.closecCs |�d||f�|�t�dS)Nz%s: %s)�pushr4�rrrr
r
r�headertszHTTPHandler.headercCsV|jrdS	t��\}}}d||f}|j�|j|�|j|_|�	�d|_~~~dS)NrDzCannot connect, error: %s (%s)T)
r>r5r�exc_infor0rr�ignorer7r&)r�t�v�tb�msgr
r
r�handle_errorxszHTTPHandler.handle_errorcCs�d|_d}d}|�d||j|f�|�t�|�d|j�|�dd�|�dd	�|�d
|j�|jrNd|j|jf}t	t
t|�����}|�dd
|�|�t�|�t�dS)NrD�GETzHTTP/1.1z%s %s %s�HostzAccept-Encoding�chunked�Acceptz*/*z
User-agentz%s:%s�
AuthorizationzBasic %s)
r5rarLr4rcrIr1r=r<rrr�strip)r�method�version�authr
r
r�handle_connect�s

zHTTPHandler.handle_connectcCs|j�|j|�dSr)r0r%r)rr"r
r
rr%�szHTTPHandler.feedcCs2|j||_|j|jkr|�|j�d|_dSdS�Nr,)r2r7�bodyr%)r�bytesr
r
r�collect_incoming_data�s

�z!HTTPHandler.collect_incoming_datacCs|��d|_dSru)r7r2r`r
r
r�found_terminator�s
zHTTPHandler.found_terminatorcCs
d|_dSru)r2r`r
r
rre�s
zHTTPHandler.ignorecCs�|j}|�dd�\}}}t|�}|�d�st|��|j�|j|�|dkr*|j|_	n|j
|_	d|}|j�|j|�|��|||fS)N�sHTTP/��zCannot read, status code %s)
r2rJrK�
startswithr r0rr�headersr7rerr&)r�linerrr�reasonrir
r
rr6�s


zHTTPHandler.status_linecCs�|j}|s|jdkr|j|_dS|j|_|�|j�dS|�dd�\}}|rI|rK|��}|�	�}|dkr8||_n	|dkrAt
|�|_|�||�dSdSdS)Nschunked�:rDstransfer-encodingscontent-length)r2r�chunked_sizer7rvr3r;rJ�lowerrprKr)rr~rrr
r
rr}�s 

�zHTTPHandler.headerscCs|j�|j||�dSr)r0rrrbr
r
rr�szHTTPHandler.response_headercCs|��|��dSr)rr&r`r
r
rrv�szHTTPHandler.bodycCs|j�|j�dSr)r0rrr`r
r
rr�szHTTPHandler.donecCsV|j}|sdSt|��dd�}|dkr|j|_n	|�|�|j|_|j|7_dS)Nr�)r2rKrJ�trailerr7r3�chunked_bodyr;)rr~r8r
r
rr��s

zHTTPHandler.chunked_sizecCs&|j}|�t�|j|_|�|�dSr)r2r3r4r�r7r%�rr~r
r
rr��s
zHTTPHandler.chunked_bodycCs&|j}|tkr|��|��dSdSr)r2r4rr&r�r
r
rr��s
�zHTTPHandler.trailer)r+NNN)r+)r'r(r)r/r]r&rcrjrtr%rxryrer6r}rrvrr�r�r�r
r
r
rr*7s.
�
r*)rrO�supervisor.compatrrrrr�supervisor.medusarr-�CR�LFr4�objectr
r.r*r
r
r
r�<module>s&