
    vKgN                         S r SSKrSSKrSSKJr  SSKJr  SSKJr  SSK	J
r
  \R                  " \5      rS rS rS	 rS
 rS rS rS rS\0rg)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                    [        XU5      (       az  UR                  S    Hf  n[        R                  U5      nUb5  [        R                  SU5        U" US   5      US'   [        US   U5          g[        R                  SU5        Mh     gg)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        Q/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/botocore/compress.pymaybe_compress_requestr      s    oFF';;KHH)--h7G"DhO'.|F/C'DV$'Y(?JCXN I G    c                 h   U R                   SLa  U R                  S:w  a  UR                  b  [        U5      (       d&  [	        US   5      nSn[
        R                  XC5        gUR                  (       a!  UR                  5       nUR                  nSU;  $ [        US   5      nU R                  nX:*  $ g)NTv2r	   z*Body type %s does not support compression.FrequiresLength)disable_request_compressionsignature_versionr   _is_compressible_typetyper   r   has_streaming_inputget_streaming_inputmetadata_get_body_size"request_min_compression_size_bytes)	r   r   r   	body_typelog_msgstreaming_inputstreaming_metadata	body_sizemin_sizes	            r   r   r   ,   s    **$6$$,//;$\22\&12IBGLL,..-AACO!0!9!9#+==="<#78	<<$$r   c                     U S   n[        U[        5      (       a  [        USSS9R                  S5      nXS'   [        U[        [
        [        45      nU=(       d    [        US5      $ )Nr	   Tutf-8)doseqr   read)
isinstancedictr   encodestrbytes	bytearrayhasattr)r   r	   is_supported_types      r   r   r   D   s`    D$TG<CCGL#V"4#ui)@A5f 55r   c                 R    [        U 5      nUc  [        R                  SU 5        SnU$ )NzCUnable to get length of the request body: %s. Skipping compression.r   )r   r   r   )r	   sizes     r   r$   r$   N   s1    #D)D|$	

 Kr   c                    [        U [        5      (       a  [        U R                  S5      5      $ [        U [        [
        45      (       a  [        U 5      $ [        U S5      (       a[  [        U S5      (       a?  [        U S5      (       a.  U R                  5       n[        U 5      nU R                  U5        U$ [        U 5      $ g )Nr-   r/   seektell)
r0   r3   gzip_compressr2   r4   r5   r6   r<   _gzip_compress_fileobjr;   )r	   current_positioncompressed_objs      r   _gzip_compress_bodyrA   Z   s    $T[[122	D5),	-	-T""	v		4  WT6%:%:#yy{3D9NII&'!!%d++ 
r   c                 @   [         R                  " 5       n[        USS9 n U R                  S5      nU(       d  O9[	        U[
        5      (       a  UR                  S5      nUR                  U5        MR  S S S 5        UR                  S5        U$ ! , (       d  f       N!= f)Nwb)fileobjmodei    r-   r   )	ioBytesIOr   r/   r0   r3   r2   writer;   )r	   r@   gzchunks       r   r>   r>   h   s~    ZZ\N	.t	4IIdOE%%%W-HHUO  
5  
5	4s   AB
Bc                 J    U R                  S5      nUc  XS'   g U SU 3U S'   g )NzContent-Encoding,)r   )r
   r   	ce_headers      r   r   r   v   s6    ./I&."#)21XJ&?"#r   gzip)__doc__rF   loggingrN   r   r   r=   botocore.compatr   botocore.utilsr   	getLogger__name__r   r   r   r   r$   rA   r>   r   r    r   r   <module>rV      sa    
   * % 3			8	$O06	,@ 23 r   