← back to Atmos Game

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

58 lines

�

c�bj�!��r�UddlZddlmZmZmZmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZmZddlmZmZmZmZmZddlmZddlmZmZmZmZmZmZmZm Z ddl!m"Z"m#Z#m$Z$m%Z%d	gZ&ejNe
jPd
��Z)ejNd�Z*dee+d
ee+fd�Z,dee+d
eee+e+ffd�Z-ejNejPd
��Z.ded
eefd�Z/ejNejPd
��Z0ded
e
eedffd�Z1Gd�d�Z2ejNejPd
��Z3Gd�d�Z4Gd�d�Z5ded
dfd�Z6ee
e	e$ee	e$e	e$ffe
edefee7edeffffZ8eefe/e efe1e efe1eefe6eefe6eefe6e efe6e efe6e efe6ee4e2e5d�i
Z9e8e:d	<y)�N)	�Any�Callable�Dict�Iterable�NoReturn�Optional�Tuple�Type�Union�)�chunk_header�header_field�request_line�status_line)�Data�EndOfMessage�InformationalResponse�Request�Response)�
ReceiveBuffer)�CLIENT�CLOSED�DONE�IDLE�
MUST_CLOSE�	SEND_BODY�
SEND_RESPONSE�SERVER)�LocalProtocolError�RemoteProtocolError�Sentinel�validate�READERS�asciis[ \t]+�lines�returnc#�K�t|�}d}|D]e}tj|�}|rD|�td��t	|t
�st|�}|dz
}|||j
�dz
}�^|�|��|}�g|�|��yy�w)Nz%continuation line at start of headers� )�iter�obs_fold_re�matchr�
isinstance�	bytearray�end)r%�it�last�liner+s     �c/Users/macstudio3/Projects/atmos-game/assets/gen/.venv/lib/python3.12/site-packages/h11/_readers.py�_obsolete_line_foldr3+s�����	
�e��B� �D����!�!�$�'����|�(�)P�Q�Q��d�I�.� �����D�L�D��D������'�'�D����
��D�����
��s�BBc#�hK�t|�D] }tt|d|�}|d|df���"y�w)Nzillegal header line: {!r}�
field_name�field_value)r3r"�header_field_re)r%r1�matchess   r2�_decode_header_linesr9@s=����$�E�*���?�D�2M�t�T���|�$�g�m�&<�=�=�+�s�02�bufc
���|j�}|�|j�rtd��y|std��tt|dd|d�}tdt
t|dd��dd�|��S)	N�illegal request linezno request line receivedrzillegal request line: {!r}rT)�headers�_parsed�)�maybe_extract_lines�+is_next_line_obviously_invalid_request_linerr"�request_line_rer�listr9)r:r%r8s   r2�maybe_read_from_IDLE_clientrDKs����#�#�%�E��}��:�:�<�$�%;�<�<��� �!;�<�<����q��#?��q���G����)�%���)�4�5�t��GN���c	�Z�|j�}|�|j�rtd��y|std��tt|dd|d�}|d�dn|d}|d�dn|d}t|d	�}|d
krtnt}|tt|dd��d|||�
�S)Nr<zno response line receivedrzillegal status line: {!r}�http_versions1.1�reasonrE�status_code��rT)r=r>rIrHrG)
r@rArr"�status_line_re�intrrrCr9)r:r%r8rGrHrI�class_s       r2�$maybe_read_from_SEND_RESPONSE_serverrN^s���
�#�#�%�E��}��:�:�<�$�%;�<�<��� �!<�=�=��~�u�Q�x�1L�e�TU�h�W�G��.�)�1��w�~�7N���H�%�-�S�7�8�3D�F��g�m�,�-�K�!,�s�!2������)�%���)�4�5����!��rEc�D�eZdZdeddfd�Zdedeeedffd�Z	de
fd�Zy)�ContentLengthReader�lengthr&Nc� �||_||_y�N)�_length�
_remaining)�selfrQs  r2�__init__zContentLengthReader.__init__{s����� ��rEr:c���|jdk(r
t�S|j|j�}|�y|xjt|�zc_t	|��S)Nr��data)rUr�maybe_extract_at_most�lenr�rVr:rZs   r2�__call__zContentLengthReader.__call__sN���?�?�a���>�!��(�(����9���<�����3�t�9�$�����rEc�z�tdj|j|jz
|j���)Nz]peer closed connection without sending complete message body (received {} bytes, expected {}))r �formatrTrU�rVs r2�read_eofzContentLengthReader.read_eof�s4��!�
/�/5�v����t���.����0�
�	
rE)�__name__�
__module__�__qualname__rLrWrrrrr^rrbr?rEr2rPrPzs@��!�s�!�t�!��M��e�D�,��4L�.M��
�(�
rErPc�<�eZdZdd�Zdedeeedffd�Zde	fd�Z
y)�
ChunkedReaderr&Nc�.�d|_d|_d|_y)NrrEF)�_bytes_in_chunk�_bytes_to_discard�_reading_trailerras r2rWzChunkedReader.__init__�s�� ���"%��� %��rEr:c��|jr1|j�}|�yttt	|����S|j
r�|j
t|j
��}|�y||j
dt|�k7rtd|�d|j
�d���|j
t|�d|_|j
ry|j
dk(sJ�|jdk(r[|j�}|�ytt|d|�}t|dd	�
�|_	|jdk(rd|_||�Sd}nd}|jdkDsJ�|j
|j�}|�y|xjt|�zc_	|jdk(r
d
|_d}nd}t|||��S)N)r=zmalformed chunk footer: z (expected �)rErzillegal chunk header: {!r}�
chunk_size�)�baseTFs
)rZ�chunk_start�	chunk_end)rkr@rrCr9rjr[r\rri�maybe_extract_next_liner"�chunk_header_rerLr)rVr:r%rZr
r8rqrrs        r2r^zChunkedReader.__call__�s���� � ��+�+�-�E��}����-A�%�-H�(I�J�J��!�!��,�,�S��1G�1G�-H�I�D��|���t�-�-�k��D�	�:�:�(�.�t�h�k�$�BX�BX�A[�[\�]���&*�%;�%;�C��I�K�%H�D�"��%�%���%�%��,�,�,����1�$��6�6�8�L��#�����,��	�G�$'�w�|�'<�2�#F�D� ��#�#�q�(�(,��%��C�y� ��K��K��#�#�a�'�'�'��(�(��)=�)=�>���<������D�	�)�����1�$�%,�D�"��I��I���;�)�L�LrEc��td��)NzVpeer closed connection without sending complete message body (incomplete chunked read))r ras r2rbzChunkedReader.read_eof�s��!�
(�
�	
rE)r&N)rcrdrerWrrrrr^rrbr?rEr2rgrg�s6��&�0M�M�0M�e�D�,��4L�.M�0M�d
�(�
rErgc�.�eZdZdedeefd�Zdefd�Zy)�Http10Readerr:r&c�B�|jd�}|�yt|��S)Ni�ɚ;rY)r[rr]s   r2r^zHttp10Reader.__call__�s$���(�(��3���<�����rEc��t�SrS)rras r2rbzHttp10Reader.read_eof�s
���~�rEN)	rcrdrerrrr^rrbr?rEr2rwrw�s%���M��h�t�n���,�rErwc��|rtd��y)NzGot data when expecting EOF)r)r:s r2�expect_nothingr{�s��
� �!>�?�?�rE.)�chunkedzcontent-lengthzhttp/1.0);�re�typingrrrrrrr	r
r�_abnfr
rrr�_eventsrrrrr�_receivebufferr�_staterrrrrrrr�_utilrr r!r"�__all__�compile�encoder7r*�bytesr3r9rBrDrKrNrPrtrgrwr{�str�ReadersTyper#�__annotations__r?rEr2�<module>r�sT��&
�X�X�X�H�H�Q�Q�)�	�	�	�O�N��+���"�*�*�0�\�0�0��9�:���b�j�j��$���x����8�E�?��*>��E�?�>�
�e�E�5�L�!�"�>��"�*�*�0�\�0�0��9�:��
�]�
�x��7H�
� ����.�K�.�.�w�7�8���	��
� �(�D�0�1��8
�
�.�"�*�*�0�\�0�0��9�:��>
�>
�B���
��$���	�$�x�.�%��X���X�� >�?�
?�@�	�(�3��8�
�d�3���c��(:�#:�;�
;�<�>����T�N�/��T�N�8��]��A��T�N�N��Z��.��V��n��T�N�N��Z��.��V��n�
� �-� �����rE