Class: Aws::Plugins::TransferEncoding::Handler Private

Inherits:
Seahorse::Client::Handler show all
Defined in:
lib/aws-sdk-core/plugins/transfer_encoding.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

API:

  • private

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Handler

#handler

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Handler

#initialize, #inspect

Constructor Details

This class inherits a constructor from Seahorse::Client::Handler

Instance Method Details

#call(context) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/aws-sdk-core/plugins/transfer_encoding.rb', line 12

def call(context)
  if streaming?(context.operation.input)
    begin
      context.http_request.body.size
    rescue
      if requires_length?(context.operation.input)
        # if size of the IO is not available but required
        raise Aws::Errors::MissingContentLength.new
      elsif context.operation['authtype'] == "v4-unsigned-body"
        context.http_request.headers['Transfer-Encoding'] = 'chunked'
      end
    end
  end

  @handler.call(context)
end