MOON
Server: Apache
System: Linux server30c.hostingraja.org 3.10.0-962.3.2.lve1.5.63.el7.x86_64 #1 SMP Fri Oct 8 12:03:35 UTC 2021 x86_64
User: jibhires (1887)
PHP: 8.1.30
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, symlink, escapeshellcmd, pcntl_exec
Upload Files
File: //opt/alt/python38/lib64/python3.8/site-packages/aiohttp/__pycache__/http_writer.cpython-38.pyc
U

'�7`��@sdZddlZddlZddlZddlmZmZmZmZm	Z	ddl
mZddlm
Z
ddlmZddlmZd	Ze�d
ddg�Zedd�Zedd�ZeeegedfZGd
d�de
�Zeded�dd�ZeZzddlmZejZes�eZWne k
r�YnXdS)z"Http related parsers and protocol.�N)�Any�	Awaitable�Callable�Optional�Union)�CIMultiDict�)�AbstractStreamWriter)�BaseProtocol)�
NO_EXTENSIONS)�StreamWriter�HttpVersion�
HttpVersion10�
HttpVersion11r
�major�minorc@s�eZdZd"eejedd�dd�Zee	ej
d�dd��Zeed�dd	��Zdd�d
d�Z
d#edd
�dd�Zedd�dd�Zddd�eeedd�dd�Zeddd�dd�Zd$edd�dd�Zdd�d d!�ZdS)%rN)�protocol�loop�
on_chunk_sent�returncCsH||_|j|_||_d|_d|_d|_d|_d|_d|_	d|_
||_dS)NFr)�	_protocol�	transport�
_transportr�length�chunked�buffer_size�output_size�_eof�	_compressZ
_drain_waiter�_on_chunk_sent)�selfrrr�r!�F/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/http_writer.py�__init__szStreamWriter.__init__)rcCs|jS�N)r�r r!r!r"r.szStreamWriter.transportcCs|jSr$)rr%r!r!r"r2szStreamWriter.protocolcCs
d|_dS)NT)rr%r!r!r"�enable_chunking6szStreamWriter.enable_chunking�deflate)�encodingrcCs*|dkrdtjntj}tj|d�|_dS)NZgzip�)Zwbits)�zlibZ	MAX_WBITSZcompressobjr)r r(Z	zlib_moder!r!r"�enable_compression9szStreamWriter.enable_compression)�chunkrcCsPt|�}|j|7_|j|7_|jdks8|j��r@td��|j�|�dS)Nz!Cannot write to closing transport)�lenrrrZ
is_closing�ConnectionResetError�write)r r,�sizer!r!r"�_write=szStreamWriter._writeTi)�drain�LIMIT)r,r2r3rc�s�|jdk	r|�|�IdHt|t�r<|jt|�kr<|�d�}|jdk	rZ|j�|�}|sZdS|jdk	r�t|�}|j|kr�|j||_n|d|j�}d|_|s�dS|r�|j	r�dt|��
d�}||d}|�|�|j|kr�|r�d|_|�
�IdHdS)z�Writes chunk of data to a stream.

        write_eof() indicates end of stream.
        writer can't be used after write_eof() method being called.
        write() return drain future.
        N�cr�%x
�ascii�
)r�
isinstance�
memoryview�nbytesr-�castr�compressrr�encoder1rr2)r r,r2r3�	chunk_lenZ
chunk_len_prer!r!r"r/Fs2	






zStreamWriter.write�CIMultiDict[str]��status_line�headersrc�st||�}|�|�dS)z*Write request/response status and headers.N)�_serialize_headersr1)r rArBZbufr!r!r"�
write_headersqs
zStreamWriter.write_headers�c�s�|jr
dS|r(|jdk	r(|�|�IdH|jrv|r>|j�|�}||j��}|r�|jr�dt|��d�}||d}n.|jr�|r�dt|��d�}||d}nd}|r�|�|�|�	�IdHd|_d|_
dS)Nr5r6s
0

s0

T)rrrr<�flushrr-r=r1r2r)r r,r>r!r!r"�	write_eofys*

zStreamWriter.write_eofc�s |jjdk	r|j��IdHdS)zFlush the write buffer.

        The intended use is to write

          await w.write(data)
          await w.drain()
        N)rrZ
_drain_helperr%r!r!r"r2�szStreamWriter.drain)N)r')rE)�__name__�
__module__�__qualname__r
�asyncioZAbstractEventLoop�_T_OnChunkSentr#�propertyrZ	Transportrrr&�strr+�bytesr1�bool�intr/rDrGr2r!r!r!r"rs8��
��,�rr?r@cCs.|dd�dd�|��D��}|�d�dS)N�
�cSs g|]\}}|d|d�qS)z: rRr!)�.0�k�vr!r!r"�
<listcomp>�sz)_py_serialize_headers.<locals>.<listcomp>zutf-8r7)�join�itemsr=)rArB�liner!r!r"�_py_serialize_headers�s���r[)!�__doc__rK�collectionsr*�typingrrrrrZ	multidictr�abcr	Z
base_protocolr
Zhelpersr�__all__�
namedtupler
rrrOrLrrNr[rCZaiohttp._http_writerZ_http_writerZ_c_serialize_headers�ImportErrorr!r!r!r"�<module>s0