Class: Rack::ErrorHandler
- Inherits:
-
Object
- Object
- Rack::ErrorHandler
- Defined in:
- lib/rack/error_handler.rb,
lib/rack/error_handler/version.rb,
lib/rack/error_handler/request_error.rb
Defined Under Namespace
Classes: RequestError
Constant Summary collapse
- DEFAULT_ERROR_MESSAGE =
'Internal Server Error'.freeze
- VERSION =
'1.0.1'
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, options = {}) ⇒ ErrorHandler
constructor
A new instance of ErrorHandler.
Constructor Details
#initialize(app, options = {}) ⇒ ErrorHandler
Returns a new instance of ErrorHandler.
10 11 12 13 14 |
# File 'lib/rack/error_handler.rb', line 10 def initialize(app, ={}) @app = app @logger = .fetch(:logger) = [:error_message] || DEFAULT_ERROR_MESSAGE end |
Instance Method Details
#call(env) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/rack/error_handler.rb', line 16 def call(env) app.call env rescue => error request = Rack::Request.new env request_error = RequestError.new request, error logger.error(self.class) { request_error } [500, {}, []] end |