Class: FiberAudit::Runtime::RailsIntegration::Middleware
- Inherits:
-
Object
- Object
- FiberAudit::Runtime::RailsIntegration::Middleware
- Defined in:
- lib/fiber_audit/runtime/rails_integration.rb
Overview
Rack middleware for :middleware context
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ Middleware
constructor
A new instance of Middleware.
Constructor Details
#initialize(app) ⇒ Middleware
Returns a new instance of Middleware.
294 295 296 |
# File 'lib/fiber_audit/runtime/rails_integration.rb', line 294 def initialize(app) @app = app end |
Instance Method Details
#call(env) ⇒ Object
298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 |
# File 'lib/fiber_audit/runtime/rails_integration.rb', line 298 def call(env) integration = RailsIntegration.current return @app.call(env) unless integration&.active_for_current_process? executed = false begin integration.context_store.with(:middleware) do executed = true @app.call(env) end rescue StandardError raise if executed # Context setup failed before application code ran raise unless integration.send(:fail_open?) integration.send(:account_internal_error) @app.call(env) end end |