class AWS::Core::RESTResponseParser

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

Public Class Methods

new(operation) click to toggle source

@private

# File lib/aws/core/rest_response_parser.rb, line 22
def initialize operation
  @http = operation[:http]
  @parser = XML::Parser.new(operation[:outputs])
end

Public Instance Methods

extract_data(response) click to toggle source

Given a response object, this method extract and returns a hash of response data. @param [Response] response @return [Hash]

# File lib/aws/core/rest_response_parser.rb, line 31
def extract_data response

  # parse the response XML body
  data = @parser.parse(response.http_response.body)

  # extract headers and insert into response
  (@http[:response_headers] || {}).each_pair do |name,header_name|
    data[name] = response.http_response.headers[header_name]
  end

  data

end