module AWS::Core::Client::QueryJSON::ErrorParser

def extract_error_details response

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