class Aws::Plugins::RequestCompression

@api private

Constants

CHUNK_SIZE
DEFAULT_MIN_COMPRESSION_SIZE
MIN_COMPRESSION_SIZE_LIMIT
SUPPORTED_ENCODINGS

Private Class Methods

resolve_disable_request_compression(cfg) click to toggle source
# File lib/aws-sdk-core/plugins/request_compression.rb, line 66
def resolve_disable_request_compression(cfg)
  value = ENV['AWS_DISABLE_REQUEST_COMPRESSION'] ||
          Aws.shared_config.disable_request_compression(profile: cfg.profile) ||
          'false'
  Aws::Util.str_2_bool(value)
end
resolve_request_min_compression_size_bytes(cfg) click to toggle source
# File lib/aws-sdk-core/plugins/request_compression.rb, line 73
def resolve_request_min_compression_size_bytes(cfg)
  value = ENV['AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES'] ||
          Aws.shared_config.request_min_compression_size_bytes(profile: cfg.profile) ||
          DEFAULT_MIN_COMPRESSION_SIZE.to_s
  Integer(value)
end

Public Instance Methods

add_handlers(handlers, _config) click to toggle source
# File lib/aws-sdk-core/plugins/request_compression.rb, line 58
def add_handlers(handlers, _config)
  # priority set to ensure compression happens BEFORE checksum
  handlers.add(CompressionHandler, priority: 16, step: :build)
end
after_initialize(client) click to toggle source
# File lib/aws-sdk-core/plugins/request_compression.rb, line 35
def after_initialize(client)
  validate_disable_request_compression_input(client.config)
  validate_request_min_compression_size_bytes_input(client.config)
end
validate_disable_request_compression_input(cfg) click to toggle source
# File lib/aws-sdk-core/plugins/request_compression.rb, line 40
def validate_disable_request_compression_input(cfg)
  unless [true, false].include?(cfg.disable_request_compression)
    raise ArgumentError,
          'Must provide either `true` or `false` for the '\
          '`disable_request_compression` configuration option.'
  end
end
validate_request_min_compression_size_bytes_input(cfg) click to toggle source
# File lib/aws-sdk-core/plugins/request_compression.rb, line 48
def validate_request_min_compression_size_bytes_input(cfg)
  value = Integer(cfg.request_min_compression_size_bytes)
  unless value.between?(0, MIN_COMPRESSION_SIZE_LIMIT)
    raise ArgumentError,
          'Must provide a non-negative integer value between '\
            '`0` and `10485760` bytes inclusive for the '\
            '`request_min_compression_size_bytes` configuration option.'
  end
end