Format: application/x-python-code
⬇ Download File (4.4 KB)
   1  o
   2  
   3  .'h��@s�UddlmZmZmZmZmZmZmZddlm	Z	m
   4  Z
   5  mZmZm
   6  Z
   7  mZddlmZddlmZmZmZmZmZddlmZmZdgZeegefZded	ed
   8  dfdd
   9  �Zde
  10  d	ed
  11  dfdd�Zdeeefd	ed
  12  dfdd�ZGdd�d�Z Gdd�de �Z!Gdd�de �Z"Gdd�de �Z#eeeeeeefeefeee$ee feeeefegdfee
  13  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�
  14  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
  15  �
  16  )Z_full_items)rr�	raw_items�raw_name�name�value�r!�BC:\Users\shubh\Videos\agent\nova\Lib\site-packages\h11/_writers.py�
  17  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
  18  )�http_versionr�method�targetr#r)r$rr!r!r"�
  19  write_request$s
  20  r*�responsecCsD|jdkr	td��t|j��d�}|d||jf�t|j|�dS)Nr%r&�asciisHTTP/1.1 %s %s
  21  )r'r�str�status_code�encode�reasonr#r)r+rZstatus_bytesr!r!r"�write_any_response,s
  22  
  23  	r1c@sNeZdZdededdfdd�Zdededdfdd	�Zd
  24  ededdfdd�Z	dS)
  25  �
  26  BodyWriter�eventrrNcCs@t|�tur|�|j|�dSt|�tur|�|j|�dSJ��N)�typer
  27  �	send_data�datar�send_eomr)�selfr3rr!r!r"�__call__?s
  28  zBodyWriter.__call__r7cC�dSr4r!�r9r7rr!r!r"r6G�zBodyWriter.send_datarcCr;r4r!�r9rrr!r!r"r8Jr=zBodyWriter.send_eom)
  29  �__name__�
  30  __module__�__qualname__r�Writerr:�bytesr6rr8r!r!r!r"r2>sr2c@sJeZdZdeddfdd�Zdededdfdd	�Zd
  31  ededdfdd�Z	dS)
  32  �ContentLengthWriter�lengthrNcCs
  33  ||_dSr4)�_length)r9rEr!r!r"�__init__Us
  34  zContentLengthWriter.__init__r7rcCs0|jt|�8_|jdkrtd��||�dS)Nrz)Too much data for declared Content-Length)rF�lenrr<r!r!r"r6Xs
  35  zContentLengthWriter.send_datarcCs"|jdkr	td��|rtd��dS)Nrz+Too little data for declared Content-Lengthz%Content-Length and trailers don't mix)rFrr>r!r!r"r8^s
  36  
  37  �zContentLengthWriter.send_eom)
  38  r?r@rA�intrGrCrBr6rr8r!r!r!r"rDTsrDc@�8eZdZdededdfdd�Zdededdfdd	�ZdS)
  39  �
  40  ChunkedWriterr7rrNcCs,|sdS|dt|��||�|d�dS)Ns%x
  41  r)rHr<r!r!r"r6fs
  42  zChunkedWriter.send_datarcCs|d�t||�dS)Ns0
  43  )r#r>r!r!r"r8oszChunkedWriter.send_eom�r?r@rArCrBr6rr8r!r!r!r"rKes	rKc@rJ)
  44  �Http10Writerr7rrNcCs||�dSr4r!r<r!r!r"r6uszHttp10Writer.send_datarcCs|rtd��dS)Nz&can't send trailers to HTTP/1.0 client)rr>r!r!r"r8xs�zHttp10Writer.send_eomrLr!r!r!r"rMtsrM)�chunkedzcontent-lengthzhttp/1.0)(�typingrrrrrrrZ_eventsr
  45  rrr
  46  rr�_headersr�_staterrrrrZ_utilrr�__all__rCrBr#r*r1r2rDrKrMr-ZWritersTyper�__annotations__r!r!r!r"�<module>sN&	 
  47  ��
  48  �����
  49  ��