Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/http/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/http/__pycache__/client.cpython-38.opt-2.pyc
U

?��g���@sbddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddddddd	d
ddd
dddddddgZdZdZ
dZdZdZdZe��ejj�dd�ejj��D�ZdZdZe�d�jZe�d �jZe�d!�Ze�d"�Z d#d$d%hZ!dAd'd(�Z"Gd)d*�d*ej#j$�Z%d+d,�Z&e%fd-d.�Z'Gd/d�dej(�Z)Gd0d�d�Z*zddl+Z+Wne,k
�r\YnXGd1d2�d2e*�Z-e�.d2�Gd3d�de/�Z0Gd4d�de0�Z1Gd5d�de0�Z2Gd6d�de0�Z3Gd7d�de0�Z4Gd8d	�d	e0�Z5Gd9d
�d
e0�Z6Gd:d�de0�Z7Gd;d
�d
e7�Z8Gd<d�de7�Z9Gd=d�de7�Z:Gd>d�de0�Z;Gd?d�de0�Z<Gd@d�de=e;�Z>e0Z?dS)B�N)�urlsplit�HTTPResponse�HTTPConnection�
HTTPException�NotConnected�UnknownProtocol�UnknownTransferEncoding�UnimplementedFileMode�IncompleteRead�
InvalidURL�ImproperConnectionState�CannotSendRequest�CannotSendHeader�ResponseNotReady�
BadStatusLine�LineTooLong�RemoteDisconnected�error�	responses�Pi�ZUNKNOWNZIdlezRequest-startedzRequest-sentcCsi|]}||j�qS�)�phrase)�.0�vrr�*/opt/cppython/lib/python3.8/http/client.py�
<dictcomp>jsri�ds[^:\s][^:\r\n]*s\n(?![ \t])|\r(?![ \t\n])z[- ]z[-]ZPATCHZPOST�PUT�datac
Cshz|�d�WStk
rb}z8t|j|j|j|jd|��||j|j�|f�d�W5d}~XYnXdS)N�latin-1z`%s (%.20r) is not valid Latin-1. Use %s.encode('utf-8') if you want to send it encoded in UTF-8.)�encode�UnicodeEncodeError�encoding�object�start�end�title)r�name�errrrr�_encode�s���r)c@seZdZdd�ZdS)�HTTPMessagecCsj|��d}t|�}g}d}|��D]@}|d|���|krBd}n|dd���sVd}|r$|�|�q$|S)N�:r�)�lower�len�keys�isspace�append)�selfr'�nZlstZhit�linerrr�getallmatchingheaders�s
z!HTTPMessage.getallmatchingheadersN)�__name__�
__module__�__qualname__r5rrrrr*�sr*cCsXg}|�td�}t|�tkr&td��|�|�t|�tkrHtdt��|dkrqTq|S)Nr,�header linezgot more than %d headers��
�
�)�readline�_MAXLINEr.rr1�_MAXHEADERSr)�fp�headersr4rrr�
_read_headers�s
rCcCs,t|�}d�|��d�}tjj|d��|�S)Nr=�
iso-8859-1)�_class)rC�join�decode�email�parserZParserZparsestr)rArErBZhstringrrr�
parse_headers�s
rJcseZdZd@dd�Zdd�Zdd�Zd	d
�Zdd�Z�fd
d�Z�fdd�Z	dd�Z
dd�ZdAdd�Zdd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�ZdBd(d)�ZdCd*d+�ZdD�fd,d-�	Zd.d/�Zd0d1�Zd2d3�ZdEd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Zd>d?�Z �Z!S)FrrNcCsR|�d�|_||_||_d|_|_t|_t|_t|_	t|_
t|_t|_t|_
dS)N�rb)�makefilerA�
debuglevel�_methodrB�msg�_UNKNOWN�version�status�reason�chunked�
chunk_left�length�
will_close)r2�sockrM�method�urlrrr�__init__�szHTTPResponse.__init__cCst|j�td�d�}t|�tkr*td��|jdkrBtdt|��|sNt	d��z|�
dd�\}}}WnFtk
r�z|�
dd�\}}d}Wntk
r�d}YnXYnX|�d	�s�|�
�t|��z$t|�}|d
ks�|dkr�t|��Wntk
�rt|��YnX|||fS)Nr,rDzstatus linerzreply:z-Remote end closed connection without response��zHTTP/ri�)�strrAr>r?r.rrM�print�reprr�split�
ValueError�
startswith�_close_connr�int)r2r4rQrRrSrrr�_read_statuss2

zHTTPResponse._read_statusc	Cs�|jdk	rdS|��\}}}|tkr&qHt|j�}|jdkrDtd|�~q||_|_|�	�|_
|dkrnd|_n|�d�r�d|_nt
|��t|j�|_|_|jdkr�|j��D]\}}td|d|�q�|j�d	�}|r�|��d
kr�d|_d|_nd|_|��|_d|_|j�d
�}|�rb|j�sbzt|�|_Wntk
�rLd|_YnX|jdk�rhd|_nd|_|tk�s�|tk�s�d|k�r�dk�s�n|jdk�r�d|_|j�s�|j�s�|jdk�r�d|_dS)Nrzheaders:)zHTTP/1.0zHTTP/0.9�
zHTTP/1.��header:r+�transfer-encodingrTTF�content-lengthr���HEAD)rBrfZCONTINUErCrArMr_�coderR�striprSrQrcrrJrO�items�getr-rTrU�_check_closerWrVrerbZ
NO_CONTENTZNOT_MODIFIEDrN)	r2rQrRrSZskipped_headers�hdr�valZtr_encrVrrr�begin5sf







�
�
���zHTTPResponse.begincCsv|j�d�}|jdkr.|r*d|��kr*dSdS|j�d�r>dS|rRd|��krRdS|j�d�}|rrd|��krrdSdS)N�
connectionrh�closeTFz
keep-alivezproxy-connection)rBrqrQr-)r2�connZpconnrrrrr}s
zHTTPResponse._check_closecCs|j}d|_|��dS�N)rArw)r2rArrrrd�szHTTPResponse._close_conncs$zt���W5|jr|��XdSry)rArd�superrw�r2��	__class__rrrw�szHTTPResponse.closecst���|jr|j��dSry)rz�flushrAr{r|rrr~�s
zHTTPResponse.flushcCsdS)NTrr{rrr�readable�szHTTPResponse.readablecCs
|jdkSry)rAr{rrr�isclosed�szHTTPResponse.isclosedcCs�|jdkrdS|jdkr$|��dS|dk	rRt|�}|�|�}t|�d|���S|jr`|��S|j	dkrv|j�
�}n6z|�|j	�}Wntk
r�|���YnXd|_	|��|SdS)Nr=rmr)
rArNrd�	bytearray�readinto�
memoryview�tobytesrT�_readall_chunkedrV�read�
_safe_readr
)r2�amt�br3�srrrr��s*



zHTTPResponse.readcCs�|jdkrdS|jdkr$|��dS|jr4|�|�S|jdk	r^t|�|jkr^t|�d|j�}|j�|�}|s||r||��n&|jdk	r�|j|8_|js�|��|S)Nrrm)	rArNrdrT�_readinto_chunkedrVr.r�r�)r2r�r3rrrr��s$





zHTTPResponse.readintocCsr|j�td�}t|�tkr$td��|�d�}|dkrB|d|�}zt|d�WStk
rl|���YnXdS)Nr,z
chunk size�;r�)	rAr>r?r.r�findrerbrd)r2r4�irrr�_read_next_chunk_sizes
z"HTTPResponse._read_next_chunk_sizecCs:|j�td�}t|�tkr$td��|s*q6|dkrq6qdS)Nr,ztrailer liner:)rAr>r?r.r�r2r4rrr�_read_and_discard_trailersz&HTTPResponse._read_and_discard_trailercCsl|j}|sh|dk	r|�d�z|��}Wntk
rDtd��YnX|dkrb|��|��d}||_|S)Nr\r=r)rUr�r�rbr
r�rd)r2rUrrr�_get_chunk_left s
zHTTPResponse._get_chunk_leftcCsbg}z6|��}|dkrq0|�|�|��d|_qd�|�WStk
r\td�|���YnXdS�Nrr=)r�r1r�rUrFr
)r2�valuerUrrrr�8szHTTPResponse._readall_chunkedcCs�d}t|�}zv|��}|dkr$|WSt|�|krN|�|�}|||_||WS|d|�}|�|�}||d�}||7}d|_qWn(tk
r�tt|d|����YnXdS)Nr)r�r�r.�_safe_readintorUr
�bytes)r2r�Ztotal_bytesZmvbrUr3Ztemp_mvbrrrr�Fs"



zHTTPResponse._readinto_chunkedcCs.|j�|�}t|�|kr*t||t|���|Sry)rAr�r.r
)r2r�rrrrr�^szHTTPResponse._safe_readcCs:t|�}|j�|�}||kr6tt|d|��||��|Sry)r.rAr�r
r�)r2r�r�r3rrrr�js
zHTTPResponse._safe_readinto���cCs�|jdks|jdkrdS|jr(|�|�S|jdk	rJ|dksD||jkrJ|j}|j�|�}|sh|rh|��n|jdk	r�|jt|�8_|S�Nrmr=r)rArNrT�_read1_chunkedrV�read1rdr.)r2r3�resultrrrr�rs


zHTTPResponse.read1cCs4|jdks|jdkrdS|jr(|�|�S|j�|�S)Nrmr=)rArNrT�
_peek_chunked�peek)r2r3rrrr��s

zHTTPResponse.peekcs�|jdks|jdkrdS|jr*t��|�S|jdk	rL|dksF||jkrL|j}|j�|�}|sj|rj|��n|jdk	r�|jt|�8_|Sr�)rArNrTrzr>rVrdr.)r2�limitr�r|rrr>�s

zHTTPResponse.readlinecCsd|��}|dks|dkrdSd|kr0|ks6n|}|j�|�}|jt|�8_|s`td��|Sr�)r�rAr�rUr.r
)r2r3rUr�rrrr��szHTTPResponse._read1_chunkedcCsDz|��}Wntk
r"YdSX|dkr0dS|j�|�d|�S)Nr=)r�r
rAr�)r2r3rUrrrr��szHTTPResponse._peek_chunkedcCs
|j��Sry)rA�filenor{rrrr��szHTTPResponse.filenocCsF|jdkrt��|j�|�p|}t|t�s4t|d�s8|Sd�|�SdS)N�__iter__z, )rBrZget_all�
isinstancer^�hasattrrF)r2r'�defaultrBrrr�	getheader�s
zHTTPResponse.getheadercCs|jdkrt��t|j���Sry)rBr�listrpr{rrr�
getheaders�s
zHTTPResponse.getheaderscCs|Sryrr{rrrr��szHTTPResponse.__iter__cCs|jSry)rBr{rrr�info�szHTTPResponse.infocCs|jSry)rZr{rrr�geturl�s
zHTTPResponse.geturlcCs|jSry)rRr{rrr�getcode�szHTTPResponse.getcode)rNN)N)r�)r�)r�)N)"r6r7r8r[rfrurrrdrwr~rr�r�r�r�r�r�r�r�r�r�r�r�r>r�r�r�r�r�r�r�r�r��
__classcell__rrr|rr�s<	
!H

 "

	

c@s
eZdZdZdZeZeZdZ	dZ
edd��Zedd��Z
d	ejd	d
fdd�Zd7d
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd8d d!�Zd9d"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Z d:dd.�d/d0�Z!d	ifdd.�d1d2�Z"d3d4�Z#d5d6�Z$d	S);rrhzHTTP/1.1r,rcCst|tj�Sry)r��io�
TextIOBase)�streamrrr�
_is_textIOszHTTPConnection._is_textIOcCsf|dkr|��tkrdSdSt|d�r*dSzt|�}|jWStk
rNYnXt|t�rbt|�SdS)Nrr�)	�upper�_METHODS_EXPECTING_BODYr�r��nbytes�	TypeErrorr�r^r.)�bodyrY�mvrrr�_get_content_lengths

z"HTTPConnection._get_content_lengthN� cCsn||_||_||_d|_g|_d|_t|_d|_d|_	d|_
i|_|�||�\|_
|_|�|j
�tj|_dSry)�timeout�source_address�	blocksizerX�_buffer�_HTTPConnection__response�_CS_IDLE�_HTTPConnection__staterN�_tunnel_host�_tunnel_port�_tunnel_headers�
_get_hostport�host�port�_validate_host�socket�create_connection�_create_connection)r2r�r�r�r�r�rrrr[4szHTTPConnection.__init__cCs<|jrtd��|�||�\|_|_|r.||_n
|j��dS)Nz.Can't set up tunnel for established connection)rX�RuntimeErrorr�r�r�r��clear)r2r�r�rBrrr�
set_tunnelJszHTTPConnection.set_tunnelcCs�|dkr�|�d�}|�d�}||kr�zt||dd��}WnHtk
r�||dd�dkrh|j}ntd||dd���YnX|d|�}n|j}|r�|ddkr�|ddkr�|dd�}||fS)	Nr+�]r,r]znonnumeric port: '%s'r�[r�)�rfindrerb�default_portr)r2r�r�r��jrrrr�bs

zHTTPConnection._get_hostportcCs
||_dSry)rM)r2�levelrrr�set_debuglevelvszHTTPConnection.set_debuglevelcCs�d|j|jf}|�d�}|�|�|j��D](\}}d||f}|�d�}|�|�q.|�d�|j|j|jd�}|�	�\}}	}
|	t
jjkr�|�
�td|	|
��f��|j�td�}t|�tkr�td	��|s�q�|d
kr�q�|jdkr�td|���q�dS)
NzCONNECT %s:%d HTTP/1.0
�asciiz%s: %s
rr;�rYzTunnel connection failed: %d %sr,r9r:rri)r�r�r �sendr�rp�response_classrXrNrf�http�
HTTPStatusZOKrw�OSErrorrorAr>r?r.rrMr_rG)r2Zconnect_strZ
connect_bytes�headerr�Z
header_strZheader_bytes�responserQrn�messager4rrr�_tunnelys4�



�
zHTTPConnection._tunnelcCsB|�|j|jf|j|j�|_|j�tjtj	d�|j
r>|��dS)Nr,)r�r�r�r�r�rX�
setsockoptr��IPPROTO_TCP�TCP_NODELAYr�r�r{rrr�connect�s
�zHTTPConnection.connectcCsBt|_z|j}|r d|_|��W5|j}|r<d|_|��XdSry)r�r�r�rwrX)r2r�rXrrrrw�szHTTPConnection.closecCs|jdkr |jr|��nt��|jdkr8tdt|��t|d�r�|jdkrTtd�|�|�}|rt|jdkrttd�|�	|j
�}|s�q�|r�|�d�}|j�|�qtdSz|j�|�WnLt
k
�rt|tjj�r�|D]}|j�|�q�nt
dt|���YnXdS)Nrzsend:r��sendIng a read()able�encoding file using iso-8859-1rDz9data should be a bytes-like object or an iterable, got %r)rX�	auto_openr�rrMr_r`r�r�r�r�r �sendallr�r��collections�abc�Iterable�type)r2rr �	datablock�drrrr��s8






�zHTTPConnection.sendcCs|j�|�dSry)r�r1)r2r�rrr�_output�szHTTPConnection._outputccs^|jdkrtd�|�|�}|r2|jdkr2td�|�|j�}|sDqZ|rR|�d�}|Vq2dS)Nrr�r�rD)rMr_r�r�r�r )r2rr r�rrr�_read_readable�s


zHTTPConnection._read_readableFcCs |j�d�d�|j�}|jdd�=|�|�|dk	�rt|d�rN|�|�}nZzt|�WnFtk
r�zt|�}Wn$tk
r�tdt	|���YnXYnX|f}|D]R}|s�|j
dkr�td�q�|r�|jdkr�t
|�d�d	��d
�|d}|�|�q�|�r|jdk�r|�d�dS)N)r=r=r;r�zAmessage_body should be a bytes-like object or an iterable, got %rrzZero length chunk ignoredrh�Xz
r�s0

)r��extendrFr�r�r�r�r��iterr�rMr_�	_http_vsnr.r )r2�message_body�encode_chunkedrO�chunks�chunkrrr�_send_output�s:


�
�zHTTPConnection._send_outputcCs�|jr|j��rd|_|jtkr(t|_n
t|j��|�|�||_|pHd}|�|�d|||j	f}|�
|�|��|jdk�r�|�s�d}|�
d�r�t|�\}}}}}|r�z|�d�}Wntk
r�|�d�}YnX|�d|�n�|jr�|j}	|j}
n|j}	|j}
z|	�d�}Wn tk
�r4|	�d�}YnX|	�d	�d
k�rRd|d}|
|jk�rl|�d|�n|�d�}|�dd
||
f�|�s�|�dd�ndS)N�/z%s %s %srhr]r�r�ZidnaZHostr+r�[�]z%s:%szAccept-Encoding�identity)r�r�r�r��_CS_REQ_STARTEDr
�_validate_methodrN�_validate_path�
_http_vsn_strr��_encode_requestr�rcrr r!�	putheaderr�r�r�r�r�r�rG)r2rYrZ�	skip_host�skip_accept_encoding�requestZnetloc�nilZ
netloc_encr�r�Zhost_encrrr�
putrequest sP






zHTTPConnection.putrequestcCs
|�d�S)Nr�)r )r2rrrrr��szHTTPConnection._encode_requestcCs,t�|�}|r(td|�d|���d���dS)Nz)method can't contain control characters. � (found at least �))�$_contains_disallowed_method_pchar_re�searchrb�group)r2rY�matchrrrr��s

�zHTTPConnection._validate_methodcCs,t�|�}|r(td|�d|���d���dS�Nz&URL can't contain control characters. rr��!_contains_disallowed_url_pchar_rer	rr
)r2rZrrrrr��s
zHTTPConnection._validate_pathcCs,t�|�}|r(td|�d|���d���dSrr
)r2r�rrrrr��s
zHTTPConnection._validate_hostcGs�|jtkrt��t|d�r$|�d�}t|�s:td|f��t|�}t|�D]\\}}t|d�rl|�d�||<nt	|t
�r�t|��d�||<t||�rJtd||f��qJd�
|�}|d|}|�|�dS)Nr r�zInvalid header name %rrzInvalid header value %rs
	s: )r�r�rr�r �_is_legal_header_namerbr��	enumerater�rer^�_is_illegal_header_valuerFr�)r2r��valuesr�Z	one_valuer�rrrr�s"





zHTTPConnection.putheader�r�cCs*|jtkrt|_nt��|j||d�dS)Nr)r�r��_CS_REQ_SENTrr�)r2r�r�rrr�
endheaders�s
zHTTPConnection.endheaderscCs|�|||||�dSry)�
_send_request)r2rYrZr�rBr�rrrr�szHTTPConnection.requestcCs�tdd�|D��}i}d|kr&d|d<d|kr6d|d<|j||f|�d|kr�d	|kr�d
}|�||�}|dkr�|dk	r�|jdkr�td|�d
}|�dd�q�|�dt|��nd
}|��D]\}	}
|�|	|
�q�t|t�r�t	|d�}|j
||d�dS)Ncss|]}|��VqdSry)r-)r�krrr�	<genexpr>�sz/HTTPConnection._send_request.<locals>.<genexpr>r�r,rzaccept-encodingrrkrjFrzUnable to determine size of %rTzTransfer-EncodingrTzContent-Lengthr�r)�	frozensetrr�rMr_rr^rpr�r)r)r2rYrZr�rBr�Zheader_namesZskipsZcontent_lengthrsr�rrrr�s0	


zHTTPConnection._send_requestcCs�|jr|j��rd|_|jtks&|jr0t|j��|jdkrR|j|j|j|jd�}n|j|j|jd�}zNz|�	�Wnt
k
r�|���YnXt|_|j
r�|��n||_|WS|���YnXdS)Nrr�)r�r�r�rrrMr�rXrNru�ConnectionErrorrwr�rW)r2r�rrr�getresponses.

�
zHTTPConnection.getresponse)NN)NF)FF)N)%r6r7r8r�r�rr��	HTTP_PORTr�r�rM�staticmethodr�r�r��_GLOBAL_DEFAULT_TIMEOUTr[r�r�r�r�r�rwr�r�r�r�rr�r�r�r�rrrrrrrrrrsL

�

	&
6�
	
�.csDeZdZeZdddejdfdddd��fdd�Z�fdd�Z�Z	S)�HTTPSConnectionNr�)�context�check_hostnamer�cs�tt|�j|||||	d�|dk	s2|dk	s2|dk	rHddl}
|
�dtd�||_||_|dkrtt�	�}|j
dk	rtd|_
|jtjk}|dkr�|j
}|r�|s�td��|s�|r�|�||�|j
dk	r�d|_
||_|dk	r�||j_
dS)N)r�rzTkey_file, cert_file and check_hostname are deprecated, use a custom context instead.r\TzMcheck_hostname needs a SSL context with either CERT_OPTIONAL or CERT_REQUIRED)rzrr[�warnings�warn�DeprecationWarning�key_file�	cert_file�sslZ_create_default_https_contextZpost_handshake_authZverify_modeZ	CERT_NONEr!rbZload_cert_chain�_context)r2r�r�r%r&r�r�r r!r�r"Zwill_verifyr|rrr[cs<���

zHTTPSConnection.__init__cs6t���|jr|j}n|j}|jj|j|d�|_dS)N)�server_hostname)rzr�r�r�r(Zwrap_socketrX)r2r)r|rrr��s

�zHTTPSConnection.connect)
r6r7r8�
HTTPS_PORTr�r�rr[r�r�rrr|rr\s��$rc@seZdZdS)rN�r6r7r8rrrrr�sc@seZdZdS)rNr+rrrrr�sc@seZdZdS)rNr+rrrrr�sc@seZdZdd�ZdS)rcCs|f|_||_dSry)�argsrQ)r2rQrrrr[�szUnknownProtocol.__init__N�r6r7r8r[rrrrr�sc@seZdZdS)rNr+rrrrr�sc@seZdZdS)r	Nr+rrrrr	�sc@s$eZdZddd�Zdd�ZejZdS)r
NcCs|f|_||_||_dSry)r,�partial�expected)r2r.r/rrrr[�szIncompleteRead.__init__cCs2|jdk	rd|j}nd}d|jjt|j�|fS)Nz, %i more expectedr]z%s(%i bytes read%s))r/r}r6r.r.)r2�errr�__repr__�s
�zIncompleteRead.__repr__)N)r6r7r8r[r1r#�__str__rrrrr
�s
c@seZdZdS)rNr+rrrrr�sc@seZdZdS)r
Nr+rrrrr
�sc@seZdZdS)rNr+rrrrr�sc@seZdZdS)rNr+rrrrr�sc@seZdZdd�ZdS)rcCs|st|�}|f|_||_dSry)r`r,r4r�rrrr[�szBadStatusLine.__init__Nr-rrrrr�sc@seZdZdd�ZdS)rcCst�|dt|f�dS)Nz&got more than %d bytes when reading %s)rr[r?)r2Z	line_typerrrr[�s�zLineTooLong.__init__Nr-rrrrr�sc@seZdZdd�ZdS)rcOs"t�|d�tj|f|�|�dS)Nr])rr[�ConnectionResetError)r2�pos�kwrrrr[�szRemoteDisconnected.__init__Nr-rrrrr�s)r)@Zemail.parserrHZ
email.messager�r��rer��collections.abcr�Zurllib.parser�__all__rr*rPr�r�r�globals�updater��__members__rrr?r@�compile�	fullmatchrr	rrrr�r)r�ZMessager*rCrJ�BufferedIOBaserrr'�ImportErrorrr1�	Exceptionrrrrrr	r
rr
rrrrr3rrrrrr�<module>Gs��



W8


F1le Man4ger