Class: AWS::Core::RESTClient::InputHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/aws/core/rest_client/input_handler.rb

Overview

Given a hash of request options, a REST::RequestHandler can populate a Core::Http::Request object.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#httpHash (readonly)



44
45
46
# File 'lib/aws/core/rest_client/input_handler.rb', line 44

def http
  @http
end

#namespaceString (readonly)



38
39
40
# File 'lib/aws/core/rest_client/input_handler.rb', line 38

def namespace
  @namespace
end

#operation_nameString (readonly)



41
42
43
# File 'lib/aws/core/rest_client/input_handler.rb', line 41

def operation_name
  @operation_name
end

#rulesHash (readonly)



49
50
51
# File 'lib/aws/core/rest_client/input_handler.rb', line 49

def rules
  @rules
end

Instance Method Details

#populate_request(request, request_options) ⇒ Http::Request

Populates an http request object with params in the uri, headers, and body.

Raises:

  • (ArgumentError)

    Raises ArgumentError when any of the request options are invalid (wrong type, missing, unknown, etc).



59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/aws/core/rest_client/input_handler.rb', line 59

def populate_request request, request_options

  params = Options::Validator.new(rules).validate!(request_options)

  request.http_method = http[:verb]
  request.uri = extract_uri(params)
  extract_headers(params).each_pair do |header_name, header_value|
    request.headers[header_name] = header_value
  end
  request.body = build_body(params)
  request

end