
    ^i                        % S r SSKJr  SSKJrJr  \(       a  SSKJrJr   " S S\	\
\
4   5      r " S S\5      rS	rS
\S'   SrS
\S'   g)zN
Contains structures for representing header fields with associated metadata.
    )annotations)TYPE_CHECKINGAny)Self	TypeAliasc                  *    \ rS rSrSrSrSrSS jrSrg)HeaderTuple   a  
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.
 Tc                ,    [         R                  X5      $ Ntuple__new__clsargss     F/home/james-whalen/.local/lib/python3.13/site-packages/hpack/struct.pyr   HeaderTuple.__new__       }}S''    Nr   r   returnr   	__name__
__module____qualname____firstlineno____doc__	__slots__	indexabler   __static_attributes__r   r   r   r	   r	      s     II(r   r	   c                  *    \ rS rSrSrSrSrSS jrSrg)NeverIndexedHeaderTuple#   zq
A data structure that stores a single header field that cannot be added to
a HTTP/2 header compression context.
r   Fc                ,    [         R                  X5      $ r   r   r   s     r   r   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/      sQ    # %1(%u% (.(k ( R	 Qh 9 hr   