Sha256: 0b9bea671c8c57b5038ee6ccddfc011569de1e868e70222d6513471e000c6dae

Contents?: true

Size: 847 Bytes

Versions: 5

Compression:

Stored size: 847 Bytes

Contents

# frozen_string_literal: true

module Aws
  module S3
    module Plugins
      # @api private
      class ChecksumAlgorithm < Seahorse::Client::Plugin

        # S3 GetObject results for whole Multipart Objects contain a checksum
        # that cannot be validated. These should be skipped by the
        # ChecksumAlgorithm plugin.
        class SkipWholeMultipartGetChecksumsHandler < Seahorse::Client::Handler
          def call(context)
            context[:http_checksum] ||= {}
            context[:http_checksum][:skip_on_suffix] = true

            @handler.call(context)
          end
        end

        def add_handlers(handlers, _config)
          handlers.add(
            SkipWholeMultipartGetChecksumsHandler,
            step: :initialize,
            operations: [:get_object]
          )
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
aws-sdk-s3-1.182.0 lib/aws-sdk-s3/plugins/checksum_algorithm.rb
aws-sdk-s3-1.181.0 lib/aws-sdk-s3/plugins/checksum_algorithm.rb
aws-sdk-s3-1.180.0 lib/aws-sdk-s3/plugins/checksum_algorithm.rb
aws-sdk-s3-1.179.0 lib/aws-sdk-s3/plugins/checksum_algorithm.rb
aws-sdk-s3-1.178.0 lib/aws-sdk-s3/plugins/checksum_algorithm.rb