
    h                        % S SK JrJrJrJrJrJrJr  SSKJ	r	J
r
JrJrJrJr  SSKJr  SSKJrJrJrJrJr  SSKJrJr  S/r\\/\4   rS\S	\S
S4S jrS\S	\S
S4S jrS\\\4   S	\S
S4S jr " S S5      r  " S S\ 5      r! " S S\ 5      r" " S S\ 5      r#\\\\\   \\   4   \\   4   \\\$\\    4   \\\\4   \/S4   \\\/S4   4   4   r%\\4\\\4\\\4\\\"\!\#S.0r&\%\'S'   g)    )AnyCallableDictListTupleTypeUnion   )DataEndOfMessageEventInformationalResponseRequestResponse)Headers)CLIENTIDLE	SEND_BODYSEND_RESPONSESERVER)LocalProtocolErrorSentinelWRITERSheaderswritereturnNc                     U R                   nU H  u  p4nUS:X  d  M  U" SX54-  5        M     U H  u  p4nUS:w  d  M  U" SX54-  5        M     U" S5        g )Ns   hosts   %s: %s
   
)_full_items)r   r   	raw_itemsraw_namenamevalues         >/var/www/html/env/lib/python3.13/site-packages/h11/_writers.pywrite_headersr%      sf     ##I!*7?-8"334 "+ "+7?-8"334 "+ 
'N    requestc                     U R                   S:w  a  [        S5      eU" SU R                  U R                  4-  5        [	        U R
                  U5        g )N   1.1I only send HTTP/1.1s   %s %s HTTP/1.1
)http_versionr   methodtargetr%   r   )r'   r   s     r$   write_requestr.   $   sE    v% !788	
7>>7>>"B
BC'//5)r&   responsec                     U R                   S:w  a  [        S5      e[        U R                  5      R	                  S5      nU" SX R
                  4-  5        [        U R                  U5        g )Nr)   r*   asciis   HTTP/1.1 %s %s
)r+   r   strstatus_codeencodereasonr%   r   )r/   r   status_bytess      r$   write_any_responser7   ,   s`     & !788x++,33G<L 

<"A
AB(""E*r&   c                   V    \ rS rSrS\S\SS4S jrS\S\SS4S jrS	\	S\SS4S
 jr
Srg)
BodyWriter>   eventr   r   Nc                     [        U5      [        L a  U R                  UR                  U5        g [        U5      [        L a  U R                  UR                  U5        g  eN)typer   	send_datadatar   send_eomr   )selfr;   r   s      r$   __call__BodyWriter.__call__?   sC    ;$NN5::u-%[L(MM%--/5r&   r@   c                     g r=    rB   r@   r   s      r$   r?   BodyWriter.send_dataG       r&   r   c                     g r=   rF   rB   r   r   s      r$   rA   BodyWriter.send_eomJ   rI   r&   rF   )__name__
__module____qualname____firstlineno__r   WriterrC   bytesr?   r   rA   __static_attributes__rF   r&   r$   r9   r9   >   sP    e F t e F t   4 r&   r9   c                   R    \ rS rSrS\SS4S jrS\S\SS4S jrS	\	S\SS4S
 jr
Srg)ContentLengthWriterT   lengthr   Nc                     Xl         g r=   _length)rB   rW   s     r$   __init__ContentLengthWriter.__init__U   s    r&   r@   r   c                     U =R                   [        U5      -  sl         U R                   S:  a  [        S5      eU" U5        g )Nr   z)Too much data for declared Content-Length)rZ   lenr   rG   s      r$   r?   ContentLengthWriter.send_dataX   s3    D	!<<!$%PQQdr&   r   c                 ^    U R                   S:w  a  [        S5      eU(       a  [        S5      eg )Nr   z+Too little data for declared Content-Lengthz%Content-Length and trailers don't mix)rZ   r   rK   s      r$   rA   ContentLengthWriter.send_eom^   s.    <<1$%RSS$%LMM r&   rY   )rM   rN   rO   rP   intr[   rR   rQ   r?   r   rA   rS   rF   r&   r$   rU   rU   T   sM    s t e F t N N N4 Nr&   rU   c                   @    \ rS rSrS\S\SS4S jrS\S\SS4S jrS	r	g)
ChunkedWritere   r@   r   r   Nc                 \    U(       d  g U" S[        U5      -  5        U" U5        U" S5        g )Ns   %x
r   )r^   rG   s      r$   r?   ChunkedWriter.send_dataf   s)     i#d)#$dgr&   r   c                 *    U" S5        [        X5        g )Ns   0
)r%   rK   s      r$   rA   ChunkedWriter.send_eomo   s    hg%r&   rF   
rM   rN   rO   rP   rR   rQ   r?   r   rA   rS   rF   r&   r$   rd   rd   e   s6    e F t & & &4 &r&   rd   c                   @    \ rS rSrS\S\SS4S jrS\S\SS4S jrS	r	g)
Http10Writert   r@   r   r   Nc                     U" U5        g r=   rF   rG   s      r$   r?   Http10Writer.send_datau   s	    dr&   r   c                 (    U(       a  [        S5      eg )Nz&can't send trailers to HTTP/1.0 client)r   rK   s      r$   rA   Http10Writer.send_eomx   s    $%MNN r&   rF   rj   rF   r&   r$   rl   rl   t   s:    e F t O O O4 Or&   rl   )chunkedzcontent-lengthzhttp/1.0)(typingr   r   r   r   r   r   r	   _eventsr   r   r   r   r   r   _headersr   _stater   r   r   r   r   _utilr   r   __all__rR   rQ   r%   r.   r7   r9   rU   rd   rl   r2   WritersTyper   __annotations__rF   r&   r$   <module>r{      s   A @ @ X X  B B /+	5'3,	7 6 d *7 *6 *d *+)834+=C+	+$ ,N* N"&J &O: O 	%XX.
/h
?@	S$z""#%-x78&A4GH'6"D()	+ TNMTN&]/ - 		 	r&   