o
    / h·  ã                   @  sz   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„ de	e
e
f ƒZG d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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                 G  ó   t  | |¡S ©N©ÚtupleÚ__new__©Úclsr
   r	   r	   úE/var/www/html/govbot/env/lib/python3.10/site-packages/hpack/struct.pyr      ó   zHeaderTuple.__new__N©r
   r   r   r   ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__Ú	indexabler   r	   r	   r	   r   r      s
    r   c                   @  r   )Ú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                 G  r   r   r   r   r	   r	   r   r   -   r   zNeverIndexedHeaderTuple.__new__Nr   r   r	   r	   r	   r   r   #   s
    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	   r   Ú<module>   s    