class AmazonDrs::Base
Attributes
date[RW]
error_description_url[RW]
error_type[RW]
request_id[RW]
status_code[RW]
Public Class Methods
new(response)
click to toggle source
# File lib/amazon-drs/base.rb, line 7 def initialize(response) @response = response @status_code = response.code.to_i parse_header(response) parse_body(response.body) end
Public Instance Methods
inspect()
click to toggle source
# File lib/amazon-drs/base.rb, line 38 def inspect if @status_code == 200 self.class.name else resp = "ERROR #{@status_code} : " resp += @message if instance_variable_defined?(:@message) && @message resp += @error_description if instance_variable_defined?(:@error_description) && @error_description resp end end
Private Instance Methods
parse_body(body)
click to toggle source
# File lib/amazon-drs/base.rb, line 34 def parse_body(body) # abstract end
parse_header(response)
click to toggle source
# File lib/amazon-drs/base.rb, line 14 def parse_header(response) response.each do |key, value| case key.downcase when 'x-amzn-errortype' # Examples: # InvalidTokenException:http://internal.amazon.com/coral/com.amazon.parkeraccioservice/ # OA2InvalidRequestException:http://internal.amazon.com/coral/com.amazon.panda/ @error_type, @error_description_url = value.split(':', 2) when 'x-amzn-requestid' # Example: # X-Amzn-Requestid: d296d296-d1d1-1111-8c8c-0b43820b4382 @request_id = value when 'x-amz-date' # Example: # X-Amz-Date: Mon, 02 Jan 2017 22:35:53 GMT @date = Time.rfc2822(value) end end end