class Aws::ErrorHandler

Private Instance Methods

build_error(context, code, message, data) click to toggle source
# File lib/aws-sdk-core/error_handler.rb, line 18
def build_error(context, code, message, data)
  errors_module = context.client.class.errors_module
  errors_module.error_class(code).new(context, message, data)
end
error(context) click to toggle source
# File lib/aws-sdk-core/error_handler.rb, line 8
def error(context)
  body = context.http_response.body_contents
  if body.empty?
    code, message, data = http_status_error(context)
  else
    code, message, data = extract_error(body, context)
  end
  build_error(context, code, message, data)
end
http_status_error(context) click to toggle source
# File lib/aws-sdk-core/error_handler.rb, line 23
def http_status_error(context)
  [http_status_error_code(context), '', EmptyStructure.new]
end
http_status_error_code(context) click to toggle source
# File lib/aws-sdk-core/error_handler.rb, line 27
def http_status_error_code(context)
  status_code = context.http_response.status_code
  {
    302 => 'MovedTemporarily',
    304 => 'NotModified',
    400 => 'BadRequest',
    403 => 'Forbidden',
    404 => 'NotFound',
    412 => 'PreconditionFailed',
    413 => 'RequestEntityTooLarge',
  }[status_code] || "Http#{status_code}Error"
end