class Aws::Plugins::RequestCompression
@api private
def add_handlers(handlers, _config)
def add_handlers(handlers, _config) # priority set to ensure compression happens BEFORE checksum handlers.add(CompressionHandler, priority: 16, step: :build) end
def after_initialize(client)
def after_initialize(client) validate_disable_request_compression_input(client.config) validate_request_min_compression_size_bytes_input(client.config) end
def resolve_disable_request_compression(cfg)
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
def resolve_request_min_compression_size_bytes(cfg)
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
def validate_disable_request_compression_input(cfg)
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
def validate_request_min_compression_size_bytes_input(cfg)
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