HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/h11/__pycache__/_writers.cpython-310.pyc
o

���g��@s�UddlmZmZmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZddlmZddlmZmZmZmZmZddlmZmZdgZeegefZded	ed
dfdd
�Zde
d	ed
dfdd�Zdeeefd	ed
dfdd�ZGdd�d�Z Gdd�de �Z!Gdd�de �Z"Gdd�de �Z#eeeeeeefeefeee$ee feeeefegdfee
egdfffZ%eefeeefeeefeee"e!e#d�iZ&e%e'd<dS)�)�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�returnNcCsb|j}|D]\}}}|dkr|d||f�q|D]\}}}|dkr*|d||f�q|d�dS)Nshosts%s: %s
�
)�_full_items)rr�	raw_items�raw_name�name�value�r"�7/usr/local/lib/python3.10/dist-packages/h11/_writers.py�
write_headerss��r$�requestcCs6|jdkr	td��|d|j|jf�t|j|�dS)N�1.1�I only send HTTP/1.1s%s %s HTTP/1.1
)�http_versionr�method�targetr$r)r%rr"r"r#�
write_request$s
r+�responsecCsD|jdkr	td��t|j��d�}|d||jf�t|j|�dS)Nr&r'�asciisHTTP/1.1 %s %s
)r(r�str�status_code�encode�reasonr$r)r,r�status_bytesr"r"r#�write_any_response,s

	r3c@sNeZdZdededdfdd�Zdededdfdd	�Zd
ededdfdd�Z	dS)
�
BodyWriter�eventrrNcCs@t|�tur|�|j|�dSt|�tur|�|j|�dSJ��N)�typer
�	send_data�datar�send_eomr)�selfr5rr"r"r#�__call__?s
zBodyWriter.__call__r9cC�dSr6r"�r;r9rr"r"r#r8G�zBodyWriter.send_datarcCr=r6r"�r;rrr"r"r#r:Jr?zBodyWriter.send_eom)
�__name__�
__module__�__qualname__r�Writerr<�bytesr8rr:r"r"r"r#r4>sr4c@sJeZdZdeddfdd�Zdededdfdd	�Zd
ededdfdd�Z	dS)
�ContentLengthWriter�lengthrNcCs
||_dSr6)�_length)r;rGr"r"r#�__init__Us
zContentLengthWriter.__init__r9rcCs0|jt|�8_|jdkrtd��||�dS)Nrz)Too much data for declared Content-Length)rH�lenrr>r"r"r#r8Xs
zContentLengthWriter.send_datarcCs"|jdkr	td��|rtd��dS)Nrz+Too little data for declared Content-Lengthz%Content-Length and trailers don't mix)rHrr@r"r"r#r:^s

�zContentLengthWriter.send_eom)
rArBrC�intrIrErDr8rr:r"r"r"r#rFTsrFc@�8eZdZdededdfdd�Zdededdfdd	�ZdS)
�
ChunkedWriterr9rrNcCs,|sdS|dt|��||�|d�dS)Ns%x
r)rJr>r"r"r#r8fs
zChunkedWriter.send_datarcCs|d�t||�dS)Ns0
)r$r@r"r"r#r:oszChunkedWriter.send_eom�rArBrCrErDr8rr:r"r"r"r#rMes	rMc@rL)
�Http10Writerr9rrNcCs||�dSr6r"r>r"r"r#r8uszHttp10Writer.send_datarcCs|rtd��dS)Nz&can't send trailers to HTTP/1.0 client)rr@r"r"r#r:xs�zHttp10Writer.send_eomrNr"r"r"r#rOtsrO)�chunkedzcontent-lengthzhttp/1.0)(�typingrrrrrrr�_eventsr
rrr
rr�_headersr�_staterrrrr�_utilrr�__all__rErDr$r+r3r4rFrMrOr.�WritersTyper�__annotations__r"r"r"r#�<module>sN&	 
��
�����
��