class Aws::SessionStore::DynamoDB::Errors::DefaultHandler

This class handles errors raised from DynamoDB.

Constants

HARD_ERRORS

Array of errors that will always be passed up the Rack stack.

Public Class Methods

new(raise_errors) click to toggle source

Determines behavior of DefaultErrorHandler @param [true] raise_errors Pass all errors up the Rack stack.

# File lib/aws/session_store/dynamo_db/errors/default_handler.rb, line 14
def initialize(raise_errors)
  @raise_errors = raise_errors
end

Public Instance Methods

errors_string(error) click to toggle source

Returns string to be placed in error stream

# File lib/aws/session_store/dynamo_db/errors/default_handler.rb, line 35
def errors_string(error)
  str = []
  str << "Exception occurred: #{error.message}"
  str << "Stack trace:"
  str += error.backtrace.map {|l| "  " + l }
  str.join("\n")
end
handle_error(error, env = {}) click to toggle source

Raises {HARD_ERRORS} up the Rack stack. Places all other errors in Racks error stream.

# File lib/aws/session_store/dynamo_db/errors/default_handler.rb, line 20
def handle_error(error, env = {})
  if HARD_ERRORS.include?(error.class) || @raise_errors
    raise error
  else
    store_error(error, env)
    false
  end
end
store_error(error, env = {}) click to toggle source

Sends error to error stream

# File lib/aws/session_store/dynamo_db/errors/default_handler.rb, line 30
def store_error(error, env = {})
  env["rack.errors"].puts(errors_string(error)) if env
end