Module: AWS::Core::Client::QueryJSON::ErrorParser

Defined in:
lib/aws/core/client/query_json.rb

Instance Method Summary collapse

Instance Method Details

#extract_error_details(response) ⇒ Object



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/aws/core/client/query_json.rb', line 87

def extract_error_details response
  if 
    response.http_response.status >= 300 and
    body = response.http_response.body and
    json = (JSON.load(body) rescue nil) and
    type = json["__type"] and
    matches = type.match(/\#(.*)$/)
  then
    code = matches[1]
    if code == 'RequestEntityTooLarge'
      message = 'Request body must be less than 1 MB'
    else
      message = json['message']
    end
    [code, message]
  end
end