Class: LogStash::Api::RackApp::ApiErrorHandler
- Inherits:
-
Object
- Object
- LogStash::Api::RackApp::ApiErrorHandler
- Defined in:
- lib/logstash/api/rack_app.rb
Constant Summary collapse
- LOG_MESSAGE =
"Internal API server error".freeze
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, logger) ⇒ ApiErrorHandler
constructor
A new instance of ApiErrorHandler.
Constructor Details
#initialize(app, logger) ⇒ ApiErrorHandler
Returns a new instance of ApiErrorHandler.
51 52 53 54 |
# File 'lib/logstash/api/rack_app.rb', line 51 def initialize(app, logger) @app = app @logger = logger end |
Instance Method Details
#call(env) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/logstash/api/rack_app.rb', line 56 def call(env) @app.call(env) rescue => e body = RackApp.(500, env). merge({ :error => "Unexpected Internal Error", :class => e.class.name, :message => e., :backtrace => e.backtrace }) @logger.error(LOG_MESSAGE, body) [500, {'Content-Type' => 'application/json'}, [LogStash::Json.dump(body)] ] end |