Current File : //proc/self/root/usr/lib/python3/dist-packages/botocore/__pycache__/httpchecksum.cpython-312.pyc |
�
P��e�? � �R � d Z ddlZddlZddlZddlmZ ddlmZmZ ddl m
Z
ddlmZm
Z
mZ ddlmZ ddlmZmZ e
rdd lmZ ndZ ej. e� Z G d
� d� Z G d� d
e� Z G d� de� Z G d� de� Z G d� de� Z G d� de� Z G d� d� Z G d� de� Z!d� Z" d)d�Z#d� Z$d� Z%d� Z& d)d�Z'd � Z(d!� Z)d"� Z*eeed#�Z+d$d%gZ,e
r5eed&�Z-e+j] e-� e/d'� e-ja � D � � sJ � e1e+ja � � Z2g d(�Z3y)*aC The interfaces in this module are not intended for public use.
This module defines interfaces for applying checksums to HTTP requests within
the context of botocore. This involves both resolving the checksum to be used
based on client configuration and environment, as well as application of the
checksum to the request.
� N)�crc32)�sha1�sha256)�HAS_CRT)�AwsChunkedWrapperError�FlexibleChecksumError�MissingDependencyException)�
StreamingBody)�conditionally_calculate_md5�determine_content_length)� checksumsc �. � e Zd ZdZd� Zd� Zd� Zd� Zd� Zy)�BaseChecksum� c � � y �N� ��self�chunks �7/usr/lib/python3/dist-packages/botocore/httpchecksum.py�updatezBaseChecksum.update2 � � �� c � � y r r �r s r �digestzBaseChecksum.digest5 r r c �j � | j � }t j |� j d� S )N�ascii)r �base64� b64encode�decode)r �bss r � b64digestzBaseChecksum.b64digest8 s) � �
�[�[�]������#�*�*�7�3�3r c � � �� �j � }t �� fd�d� D ] }� j |� � �j |� y )Nc �: �� � j �j � S r )�read�_CHUNK_SIZE)�fileobjr s ��r �<lambda>z.BaseChecksum._handle_fileobj.<locals>.<lambda>>