
    h                        U d Z ddlmZ ddlmZmZ erddlmZmZ  G d de	e
e
f                   Z G d de          Zd	Zd
ed<   dZd
ed<   dS )zN
Contains structures for representing header fields with associated metadata.
    )annotations)TYPE_CHECKINGAny)Self	TypeAliasc                  "    e Zd ZdZdZdZd
dZd	S )HeaderTuplea  
    A data structure that stores a single header field.

    HTTP headers can be thought of as tuples of ``(field name, field value)``.
    A single header block is a sequence of such tuples.

    In HTTP/2, however, certain bits of additional information are required for
    compressing these headers: in particular, whether the header field can be
    safely added to the HPACK compression context.

    This class stores a header that can be added to the compression context. In
    all other ways it behaves exactly like a tuple.
     Targsr   returnr   c                8    t                               | |          S Ntuple__new__clsr   s     P/var/www/html/e360mart/e360mart_env/lib/python3.11/site-packages/hpack/struct.pyr   zHeaderTuple.__new__       }}S$'''    Nr   r   r   r   __name__
__module____qualname____doc__	__slots__	indexabler   r
   r   r   r	   r	      s>          II( ( ( ( ( (r   r	   c                  "    e Zd ZdZdZdZd
dZd	S )NeverIndexedHeaderTuplez}
    A data structure that stores a single header field that cannot be added to
    a HTTP/2 header compression context.
    r
   Fr   r   r   r   c                8    t                               | |          S r   r   r   s     r   r   zNeverIndexedHeaderTuple.__new__-   r   r   Nr   r   r
   r   r   r    r    #   s>         
 II( ( ( ( ( (r   r    z;HeaderTuple | NeverIndexedHeaderTuple | tuple[bytes, bytes]r   HeaderzGHeaderTuple | NeverIndexedHeaderTuple | tuple[bytes | str, bytes | str]HeaderWeaklyTypedN)r   
__future__r   typingr   r   typing_extensionsr   r   r   bytesr	   r    r"   __annotations__r#   r
   r   r   <module>r)      s      # " " " " " % % % % % % % % 211111111( ( ( ( (%u% ( ( (.( ( ( ( (k ( ( ( R Q Q Q Qh  h h h h h hr   