Viewing 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	Zed
ddgZeddZeddZeeegedfZGd
dde
ZededddZeZzddlmZejZeseZWne k
rYnXdS)z"Http related parsers and protocol.N)Any	AwaitableCallableOptionalUnion)CIMultiDict)AbstractStreamWriter)BaseProtocol)
NO_EXTENSIONS)StreamWriterHttpVersion
HttpVersion10
HttpVersion11r
majorminorc@seZdZd"eejeddddZee	ej
dddZeeddd	Zddd
dZ
d#edd
ddZeddddZdddeeeddddZedddddZd$eddddZddd d!ZdS)%rN)protocolloop
on_chunk_sentreturncCsH||_|j|_||_d|_d|_d|_d|_d|_d|_	d|_
||_dS)NFr)	_protocol	transport
_transportrlengthchunkedbuffer_sizeoutput_size_eof	_compressZ
_drain_waiter_on_chunk_sent)selfrrrr!F/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/http_writer.py__init__szStreamWriter.__init__)rcCs|jSN)rr r!r!r"r.szStreamWriter.transportcCs|jSr$)rr%r!r!r"r2szStreamWriter.protocolcCs
d|_dS)NT)rr%r!r!r"enable_chunking6szStreamWriter.enable_chunkingdeflate)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|jr@td|j|dS)Nz!Cannot write to closing transport)lenrrrZ
is_closingConnectionResetErrorwrite)r r,sizer!r!r"_write=szStreamWriter._writeTi)drainLIMIT)r,r2r3rcs|jdk	r||IdHt|tr<|jt|kr<|d}|jdk	rZ|j|}|sZdS|jdk	rt|}|j|kr|j||_n|d|j}d|_|sdS|r|j	rdt|
d}||d}|||j|kr|rd|_|
IdHdS)zWrites 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.
        Ncr%x
ascii
)r
isinstance
memoryviewnbytesr-castrcompressrrencoder1rr2)r r,r2r3	chunk_lenZ
chunk_len_prer!r!r"r/Fs2	






zStreamWriter.writeCIMultiDict[str]status_lineheadersrcst||}||dS)z*Write request/response status and headers.N)_serialize_headersr1)r rArBZbufr!r!r"
write_headersqs
zStreamWriter.write_headerscs|jr
dS|r(|jdk	r(||IdH|jrv|r>|j|}||j}|r|jrdt|d}||d}n.|jr|rdt|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_eofcs |jjdk	r|jIdHdS)zFlush the write buffer.

        The intended use is to write

          await w.write(data)
          await w.drain()
        N)rrZ
_drain_helperr%r!r!r"r2szStreamWriter.drain)N)r')rE)__name__
__module____qualname__r
asyncioZAbstractEventLoop_T_OnChunkSentr#propertyrZ	Transportrrr&strr+bytesr1boolintr/rDrGr2r!r!r!r"rs8
,rr?r@cCs.|dddd|D}|ddS)N
cSs g|]\}}|d|dqS)z: rRr!).0kvr!r!r"
<listcomp>sz)_py_serialize_headers.<locals>.<listcomp>zutf-8r7)joinitemsr=)rArBliner!r!r"_py_serialize_headerssr[)!__doc__rKcollectionsr*typingrrrrrZ	multidictrabcr	Z
base_protocolr
Zhelpersr__all__
namedtupler
rrrOrLrrNr[rCZaiohttp._http_writerZ_http_writerZ_c_serialize_headersImportErrorr!r!r!r"<module>s0


	
Back to Directory File Manager