module AWS::DynamoDB::Errors::ModeledError

def code

def code
  self.class.name =~ /(::)?([^:]+)$/
  $2
end

def extract_message(response)

def extract_message(response)
  if response and response.body != ''
    JSON.load(response.body)["message"] || code
  elsif code == 'RequestEntityTooLarge'
    'Request body must be less than 1 MB'
  else
    code
  end
end

def include_error_type(response)

def include_error_type(response)
  if response.status >= 500
    extend Errors::ServerError
  else
    extend Errors::ClientError
  end
end

def initialize(request = nil, response = nil)

def initialize(request = nil, response = nil)
  message = extract_message(response)
  include_error_type(response) if response
  super(request, response, message)
end