class Aws::Rest::Response::Body
Public Class Methods
new(parser_class, rules)
click to toggle source
@param [Class] parser_class @param [Seahorse::Model::ShapeRef] rules
# File lib/aws-sdk-core/rest/response/body.rb, line 10 def initialize(parser_class, rules) @parser_class = parser_class @rules = rules end
Public Instance Methods
apply(body, data)
click to toggle source
@param [IO] body @param [Hash, Struct] data
# File lib/aws-sdk-core/rest/response/body.rb, line 17 def apply(body, data) if streaming? data[@rules[:payload]] = body elsif @rules[:payload] data[@rules[:payload]] = parse(body.read, @rules[:payload_member]) else parse(body.read, @rules, data) end end
Private Instance Methods
parse(body, rules, target = nil)
click to toggle source
# File lib/aws-sdk-core/rest/response/body.rb, line 36 def parse(body, rules, target = nil) @parser_class.new(rules).parse(body, target) if body.size > 0 end
streaming?()
click to toggle source
# File lib/aws-sdk-core/rest/response/body.rb, line 29 def streaming? @rules[:payload] && ( BlobShape === @rules[:payload_member].shape || StringShape === @rules[:payload_member].shape ) end