HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/botocore/__pycache__/compress.cpython-312.pyc
�

P��eN���dZddlZddlZddlmZddlmZddlmZddl	m
Z
eje�Z
d�Zd�Zd	�Zd
�Zd�Zd�Zd
�ZdeiZy)z�
NOTE: All functions in this module are considered private and are
subject to abrupt breaking changes. Please do not use them directly.

�N)�GzipFile)�compress)�	urlencode)�determine_content_lengthc��t|||�rw|jdD]d}tj|�}|�5tjd|�||d�|d<t
|d|�ytjd|��fyy)zAAttempt to compress the request body using the modeled encodings.�	encodingsNz%Compressing request with %s encoding.�body�headersz$Unsupported compression encoding: %s)�_should_compress_request�request_compression�COMPRESSION_MAPPING�get�logger�debug�_set_compression_header)�config�request_dict�operation_model�encoding�encoders     �3/usr/lib/python3/dist-packages/botocore/compress.py�maybe_compress_requestrs������o�F�'�;�;�K�H�	O�H�)�-�-�h�7�G��"����D�h�O�'.�|�F�/C�'D��V�$�'��Y�(?��J�����C�X�N�	O�G�c�P�|jdur�|jdk7r�|j�}t|�s't	|d�}d}t
j
||�y|jr |j�}|j}d|vSt|d�}|j}||kSy)NT�v2r	z*Body type %s does not support compression.F�requiresLength)�disable_request_compression�signature_versionr�_is_compressible_type�typerr�has_streaming_input�get_streaming_input�metadata�_get_body_size�"request_min_compression_size_bytes)	rrr�	body_type�log_msg�streaming_input�streaming_metadata�	body_size�min_sizes	         rrr,s����*�*�$�6��$�$��,��/�/�;�$�\�2��\�&�1�2�I�B�G��L�L��)�,���.�.�-�A�A�C�O�!0�!9�!9��#�+=�=�=�"�<��#7�8�	��<�<���9�$�$�rc���|d}t|t�r"t|dd��jd�}||d<t|tt
tf�}|xst|d�S)Nr	T�utf-8)�doseqr�read)�
isinstance�dictr�encode�str�bytes�	bytearray�hasattr)rr	�is_supported_types   rrrDs_�����D��$�����T�G�<�C�C�G�L��#��V��"�4�#�u�i�)@�A���5���f� 5�5rc�P�t|�}|�tjd|�d}|S)NzCUnable to get length of the request body: %s. Skipping compression.r)rrr)r	�sizes  rr$r$Ns1��#�D�)�D��|����
$��	
�
���Krc�T�t|t�rt|jd��St|tt
f�rt|�St
|d�rQt
|d�r:t
|d�r.|j�}t|�}|j|�|St|�Sy)Nr-r/�seek�tell)
r0r3�
gzip_compressr2r4r5r6r<�_gzip_compress_fileobjr;)r	�current_position�compressed_objs   r�_gzip_compress_bodyrAZs����$����T�[�[��1�2�2�	�D�5�)�,�	-��T�"�"�	��v�	��4�� �W�T�6�%:�#�y�y�{��3�D�9�N��I�I�&�'�!�!�%�d�+�+�

rc�&�tj�}t|d��5}	|jd�}|sn3t	|t
�r|j
d�}|j|��G	ddd�|jd�|S#1swY�xYw)N�wb)�fileobj�modei r-r)	�io�BytesIOrr/r0r3r2�writer;)r	r@�gz�chunks    rr>r>hs����Z�Z�\�N�	�.�t�	4�����I�I�d�O�E����%��%����W�-���H�H�U�O�
��	����������s�A	B�Bc�J�|jd�}|�||d<y|�d|��|d<y)NzContent-Encoding�,)r)r
r�	ce_headers   rrrvs8�����.�/�I���&.��"�#�)2��1�X�J�&?��"�#r�gzip)�__doc__rF�loggingrNrrr=�botocore.compatr�botocore.utilsr�	getLogger�__name__rrrrr$rAr>rr
�rr�<module>rVsc���
���*�%�3�	��	�	�8�	$��O��06�	�,��@��2�3�r