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.
Calls superclass method
# File lib/aws/session_store/dynamo_db/errors/default_handler.rb, line 16 def initialize(raise_errors) super() @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 36 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 23 def handle_error(error, env = {}) raise error if HARD_ERRORS.include?(error.class) || @raise_errors store_error(error, env) false 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 31 def store_error(error, env = {}) env['rack.errors'].puts(errors_string(error)) if env end