Class: LogBrew::Rails::RequestMiddleware
- Inherits:
-
Object
- Object
- LogBrew::Rails::RequestMiddleware
- Defined in:
- lib/logbrew/rails_integration.rb
Overview
Rails middleware entry point. Capture failures never call the app twice.
Instance Method Summary collapse
- #call(environment) ⇒ Object
-
#initialize(app, runtime: LogBrew::Rails.runtime) ⇒ RequestMiddleware
constructor
A new instance of RequestMiddleware.
Constructor Details
#initialize(app, runtime: LogBrew::Rails.runtime) ⇒ RequestMiddleware
Returns a new instance of RequestMiddleware.
489 490 491 492 493 494 495 496 497 498 |
# File 'lib/logbrew/rails_integration.rb', line 489 def initialize(app, runtime: LogBrew::Rails.runtime) raise SdkError.new("validation_error", "Rails app must respond to call") unless app.respond_to?(:call) raise SdkError.new("configuration_error", "LogBrew Rails runtime is not installed") if runtime.nil? @app = app @runtime = runtime @mutex = Mutex.new @adapter_client = nil @adapter = nil end |
Instance Method Details
#call(environment) ⇒ Object
500 501 502 503 504 505 506 507 508 |
# File 'lib/logbrew/rails_integration.rb', line 500 def call(environment) active_client = @runtime.client return @app.call(environment) if active_client.nil? adapter = adapter_for(active_client) return @app.call(environment) if adapter.nil? adapter.call(environment) end |