class Aws::ResponseHandler

@api private

def call(context)

def call(context)
  @handler.call(context).on(200..299) do |response|
    rules = context.operation.output
    response.error = nil
    response.data = case
      when rules.raw_payload? then empty_struct(rules)
      when rules.payload then parse_payload(rules, context)
      else parse(rules, context)
    end
  end
end

def empty_struct(rules)

def empty_struct(rules)
  Structure.new(rules.members.keys)
end

def initialize(parser)

def initialize(parser)
  @parser = parser
end

def parse(rules, context)

def parse(rules, context)
  @parser.parse(rules, context.http_response.body_contents)
end

def parse_payload(rules, context)

def parse_payload(rules, context)
  data = empty_struct(rules)
  data[rules.payload] = parse(rules.payload_member, context)
  data
end