
    gw                        S r SSKrSSKrSSKJrJrJrJrJrJ	r	J
r
Jr  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJr  Sr " S S\	5      r\" SS5      r\" SS5      r\
\\/\S   4      r\
\S/\S   4      r " S S\5      rS\ S\ 4S jr!S\ SSS\4S jr"\"r# SSK$J%r%  \%RF                  r&\(       d  \&r#gg! \' a     gf = f)z"Http related parsers and protocol.    N)Any	AwaitableCallableIterableList
NamedTupleOptionalUnion)CIMultiDict   )AbstractStreamWriter)BaseProtocol)ClientConnectionResetError)ZLibCompressor)NO_EXTENSIONS)StreamWriterHttpVersionHttpVersion10HttpVersion11c                   *    \ rS rSr% \\S'   \\S'   Srg)r      majorminor N)__name__
__module____qualname____firstlineno__int__annotations____static_attributes__r       [/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/aiohttp/http_writer.pyr   r      s    JJr"   r   CIMultiDict[str]c                      \ rS rSr% Sr\\   \S'   Sr\	\S'   Sr
\	\S'   Sr\\   \S'     S'S\S	\R                  S
\S\SS4
S jjr\S\\R(                     4S j5       r\S\4S j5       rS(S jrS\R2                  4S\S\SS4S jjrS\\\\4   SS4S jr S\!\   SS4S jr"SSS.S\\\\4   S\	S\SS4S jjr#S\S S!SS4S" jr$S(S# jr%S)S\SS4S$ jjr&S(S% jr'S&r(g)*r   (   NlengthFchunked_eof	_compressprotocolloopon_chunk_senton_headers_sentreturnc                 4    Xl         X l        X0l        X@l        g N)	_protocolr,   _on_chunk_sent_on_headers_sent)selfr+   r,   r-   r.   s        r#   __init__StreamWriter.__init__/   s     "	.;2Ar"   c                 .    U R                   R                  $ r1   )r2   	transportr5   s    r#   r9   StreamWriter.transport;   s    ~~'''r"   c                     U R                   $ r1   )r2   r:   s    r#   r+   StreamWriter.protocol?   s    ~~r"   c                     SU l         g )NT)r(   r:   s    r#   enable_chunkingStreamWriter.enable_chunkingC   s	    r"   deflateencodingstrategyc                      [        XS9U l        g )N)rB   rC   )r   r*   )r5   rB   rC   s      r#   enable_compressionStreamWriter.enable_compressionF   s     (Mr"   chunkc                    [        U5      nU =R                  U-  sl        U =R                  U-  sl        U R                  R                  nUb  UR                  5       (       a  [        S5      eUR                  U5        g )N!Cannot write to closing transport)lenbuffer_sizeoutput_sizer2   r9   
is_closingr   write)r5   rG   sizer9   s       r#   _writeStreamWriter._writeK   sh    5zD D NN,,		 4 4 6 6,-PQQr"   chunksc                 <   SnU H  nU[        U5      -  nM     U =R                  U-  sl        U =R                  U-  sl        U R                  R                  nUb  UR                  5       (       a  [        S5      eUR                  SR                  U5      5        g )Nr   rI   r"   )	rJ   rK   rL   r2   r9   rM   r   rN   join)r5   rR   rO   rG   r9   s        r#   _writelinesStreamWriter._writelinesT   s    ECJD D D NN,,		 4 4 6 6,-PQQ()r"   Ti   )drainLIMITrW   rX   c                0  #    U R                   b  U R                  U5      I Sh  vN   [        U[        5      (       a*  UR                  [	        U5      :w  a  UR                  S5      nU R                  b+  U R                  R                  U5      I Sh  vN nU(       d  gU R                  bN  [	        U5      nU R                  U:  a  U R                  U-
  U l        OUSU R                   nSU l        U(       d  gU(       a  U R                  (       a1  U R                  [	        U5      S S3R                  S5      US45        OU R                  U5        U R                  U:  a(  U(       a   SU l        U R                  5       I Sh  vN   gggg GNk N N7f)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.
Ncr   x
asciis   
)r3   
isinstance
memoryviewnbytesrJ   castr*   compressr'   r(   rU   encoderP   rK   rW   )r5   rG   rW   rX   	chunk_lens        r#   rN   StreamWriter.write_   sO     *%%e,,,eZ((||s5z)

3>>%..11%88E;;"E
I{{i'"kkI5m,||  E
1~T*11':E7K E"%'E#$ jjl"" -2' - - 90 #s5   "FFA.FFC2FF	FFFstatus_lineheadersr$   c                    #    U R                   b  U R                  U5      I Sh  vN   [        X5      nU R                  U5        g N!7f)z*Write request/response status and headers.N)r4   _serialize_headersrP   )r5   rf   rg   bufs       r#   write_headersStreamWriter.write_headers   sD        ,''000 !6C	 1s   "AA"Ac                     SU l         g)z&Indicate that the message is complete.TN)r)   r:   s    r#   set_eofStreamWriter.set_eof   s	    	r"   c                   #    U R                   (       a  g U(       a&  U R                  b  U R                  U5      I S h  vN   U R                  (       Ga  / nSnU(       aF  U R                  R                  U5      I S h  vN =n(       a  [	        U5      nUR                  U5        U R                  R                  5       nU[	        U5      -  nUR                  U5        U(       d   eU R                  (       a-  US S3R                  S5      nU R                  U/UQSP75        O[	        U5      S:  a  U R                  U5        OU R                  US   5        OtU R                  (       aK  U(       a2  [	        U5      S S3R                  S5      nU R                  XaS45        O*U R                  S5        OU(       a  U R                  U5        U R                  5       I S h  vN   SU l         g  GN GNu N7f)	Nr   r[   r\   r]   s   
0

r   s   0

T)r)   r3   r*   rb   rJ   appendflushr(   rc   rU   rP   rW   )r5   rG   rR   
chunks_lencompressed_chunkflush_chunkchunk_len_pres          r#   	write_eofStreamWriter.write_eof   s    99T((4%%e,,,>>>"$FJDNN4K4KE4R.RR*R !12
./....0K#k**JMM+&:||#-a. 5 < <W E  -!K&!K:J!KLVq  (F1I&\\#&u:a. 5 < <W E  -8H!IJL)KKjjl	A -
 /S2 	s4   ;G7G/?G7=G2>E$G7"G5#G72G75G7c                    #    U R                   nUR                  b+  UR                  (       a  UR                  5       I Sh  vN   ggg N7f)z_Flush the write buffer.

The intended use is to write

  await w.write(data)
  await w.drain()
N)r2   r9   _paused_drain_helper)r5   r+   s     r#   rW   StreamWriter.drain   sA      >>)h.>.>((*** /?)*s   >A
 AA
)	r*   r)   r3   r4   r2   rK   r(   r'   r,   )NN)r/   N)r"   ))r   r   r   r   r'   r	   r   r    r(   boolr)   r*   r   r   asyncioAbstractEventLoop_T_OnChunkSent_T_OnHeadersSentr6   property	Transportr9   r+   r?   zlibZ_DEFAULT_STRATEGYstrrE   r
   bytes	bytearrayr_   rP   r   rU   rN   rk   rn   rw   rW   r!   r   r"   r#   r   r   (   s    FHSM GTD$*.Ix'. )-,0
B
B ''
B &	
B
 *
B 

B (8G$5$56 ( ( ,   (9P9PNN36N	N
E%J">? D 	*(5/ 	*d 	* .#UIz12.# 	.#
 .# 
.#`		);			%U %T %N
+r"   r   stringr/   c                 4    SU ;   d  SU ;   a  [        S5      eU $ )N
zRNewline or carriage return detected in headers. Potential header injection attack.)
ValueError)r   s    r#   _safe_headerr      s(    v~1
 	
 Mr"   rf   rg   c                     S UR                  5        5       nU S-   SR                  U5      -   S-   nUR                  S5      $ )Nc              3   Z   #    U  H!  u  p[        U5      S -   [        U5      -   v   M#     g7f)z: N)r   ).0kvs      r#   	<genexpr>(_py_serialize_headers.<locals>.<genexpr>   s$     X<?T)LO;s   )+r\   z

zutf-8)itemsrT   rc   )rf   rg   headers_genlines       r#   _py_serialize_headersr      s>    XXK&++k"::ZGD;;wr"   )(__doc__r~   r   typingr   r   r   r   r   r   r	   r
   	multidictr   abcr   base_protocolr   client_exceptionsr   compression_utilsr   helpersr   __all__r   r   r   r   r   r   r   r   r   r   ri   aiohttp._http_writer_http_writer_c_serialize_headersImportErrorr   r"   r#   <module>r      s   (  	 	 	 " % ' 9 - "
K* 
 Aq!Aq! (E7IdO#;<=H&8%99T?%JKL g+' g+T   s  5G  E   + 	/'::1  		s    B= =CC