← back to Atmos Game

assets/gen/.venv/lib/python3.12/site-packages/h11/__pycache__/_headers.cpython-312.pyc

55 lines

�

c�bj�(���ddlZddlmZmZmZmZmZmZmZm	Z	ddl
mZmZddl
mZmZmZerddlmZ	ddlmZdZej.d	�Zej.ej2d
��Zej.ej2d
��ZGd�deeeef�Ze	eeeefeeeefeeeefeeeeffZed
ededdefd��Z ed
ededdefd��Z e	dd
e	eefde!defd��Z 	dd
e	eefde!defd�Z d
ededeefd�Z"d
ededeedefd�Z#ddde!fd�Z$y#e$r
ddlmZY��wxYw)�N)�AnyStr�cast�List�overload�Sequence�Tuple�
TYPE_CHECKING�Union�)�
field_name�field_value)�bytesify�LocalProtocolError�validate)�Request)�Literal�s[0-9]+�asciic��eZdZdZdZdeeeeefddfd�Zde	fd�Z
dede	fd	�Zde
fd
�Zdefd�Zde
deeeffd
�Zdeeeeffd�Zy)�Headersa�
    A list-like interface that allows iterating over headers as byte-pairs
    of (lowercased-name, value).

    Internally we actually store the representation as three-tuples,
    including both the raw original casing, in order to preserve casing
    over-the-wire, and the lowercased name, for case-insensitive comparisions.

    r = Request(
        method="GET",
        target="/",
        headers=[("Host", "example.org"), ("Connection", "keep-alive")],
        http_version="1.1",
    )
    assert r.headers == [
        (b"host", b"example.org"),
        (b"connection", b"keep-alive")
    ]
    assert r.headers.raw_items() == [
        (b"Host", b"example.org"),
        (b"Connection", b"keep-alive")
    ]
    �_full_items�
full_items�returnNc��||_y�N�r)�selfrs  �c/Users/macstudio3/Projects/atmos-game/assets/gen/.venv/lib/python3.12/site-packages/h11/_headers.py�__init__zHeaders.__init__hs
��%���c�,�t|j�Sr)�boolr�rs r�__bool__zHeaders.__bool__ks���D�$�$�%�%r �otherc�0�t|�t|�k(Sr)�list)rr%s  r�__eq__zHeaders.__eq__ns���D�z�T�%�[�(�(r c�,�t|j�Sr)�lenrr#s r�__len__zHeaders.__len__qs���4�#�#�$�$r c�0�dtt|��zS)Nz
<Headers(%s)>)�reprr'r#s r�__repr__zHeaders.__repr__ts����d�4�j�!1�1�1r �idxc�0�|j|\}}}||fSrr)rr/�_�name�values     r�__getitem__zHeaders.__getitem__ws"���)�)�#�.���4���e�}�r c�X�|jD���cgc]
\}}}||f��c}}}Scc}}}wrr)r�raw_namer1r3s    r�	raw_itemszHeaders.raw_items{s.��<@�<L�<L�M�<L�&8�h��5��5�!�<L�M�M��Ms�%)�__name__�
__module__�__qualname__�__doc__�	__slots__rr�bytesrr"r$�objectr(�intr+�strr.r4r7�r rrrMs����0�I�&�4��e�U�E�.A�(B�#C�&��&�&�$�&�)�F�)�t�)�%��%�2�#�2��s��u�U�E�\�':��N�4��e�U�l� 3�4�Nr r�headers�_parsedTrc��yrrA�rBrCs  r�normalize_and_validaterF����r Fc��yrrArEs  rrFrF�rGr c��yrrArEs  rrFrF�s��r c�V�g}d}d}|D�]�\}}|s:t|�}t|�}tt|d|�tt|d|�t	|t
�sJ�t	|t
�sJ�|}|j
�}|dk(r�|jd�D�chc]}|j���}	}t|	�dk7rtd��|	j�}tt|d�t|�tkDrtd��|�|}|j|||f���||k7s��"td��|d	k(rI|r
td
d���|j
�}|d
k7r
tdd���d}|j|||f���{|j|||f����t|�Scc}w)NFzIllegal header name {!r}zIllegal header value {!r}scontent-length�,rz"conflicting Content-Length headerszbad Content-Lengthstransfer-encodingz"multiple Transfer-Encoding headersi�)�error_status_hintschunkedz,Only Transfer-Encoding: chunked is supportedT)rr�_field_name_re�_field_value_re�
isinstancer=�lower�split�stripr*r�pop�_content_length_re�CONTENT_LENGTH_MAX_DIGITS�appendr)
rBrC�new_headers�seen_content_length�saw_transfer_encodingr2r3r6�length�lengthss
          rrFrF�s����K���!�����e���D�>�D��U�O�E��^�T�+E�t�L��_�e�-H�%�P��$��&�&�&��%��'�'�'����z�z�|���$�$�49�K�K��4E�F�4E�&�v�|�|�~�4E�G�F��7�|�q� �(�)M�N�N��K�K�M�E��'��0D�E��5�z�5�5�(�)=�>�>�"�*�&+�#��"�"�H�d�E�#:�;�$��-�(�)M�N�N�
�)�
)�
%�(�8�C���
�K�K�M�E��
�"�(�B�&)���%)�!�����$��6�7�����$��6�7�_�`�;����CGs�F&r2c���g}|jD]V\}}}||k(s�
|j�}|jd�D]&}|j�}|s�|j	|��(�X|S)NrK)rrPrQrRrV)rBr2�outr1�
found_name�found_raw_value�found_split_values       r�get_comma_headerra�st��H�C�*1�*=�*=�&��:�����-�3�3�5�O�%4�%:�%:�4�%@�!�$5�$;�$;�$=�!�$��J�J�0�1�&A�+>��Jr �
new_valuesc���g}|jD]\}}}||k7s�
|j||f��!|D]#}|j|j�|f��%t|�Sr)rrV�titlerF)rBr2rbrW�found_raw_namer^r_�	new_values        r�set_comma_headerrgsl��.0�K�7>�7J�7J�3��
�O���������@�A�8K� �	����D�J�J�L�)�4�5� �!�+�.�.r �requestrc�V�|jdkryt|jd�}d|vS)Ns1.1Fsexpects100-continue)�http_versionrarB)rh�expects  r�has_expect_100_continuerls0�����f�$��
�g�o�o�y�
9�F��f�$�$r )F)%�re�typingrrrrrrr	r
�_abnfrr
�_utilrrr�_eventsrr�ImportError�typing_extensionsrU�compilerT�encoderMrNr=rr@�HeaderTypesrFr"rargrlrAr r�<module>rws"��	�V�V�V�*�9�9�� �*����r �R�Z�Z�
�+������-�J�-�-�g�6�7���"�*�*�/�[�/�/��8�9��/N�h�u�U�E�\�*�+�/N�d���u�e�|�	����u�c�z�	����s�E�z�	����s�C�x������
��G��g�d�m����
��
��K��'�%�.��W��
��
�:?��
�7�K�'�
(��37����
��;@�6 �
�7�K�'�
(�6 �37�6 ��6 �r,�g�,�U�,�t�E�{�,�^/�g�/�U�/��U��/�PW�/�&%�Y�%�4�%��O�*�)�)�*�s�D>�>E
�E