Class: NetworkResiliency::Adapter::Rails::Middleware

Inherits:
Object
  • Object
show all
Defined in:
lib/network_resiliency/adapter/rails.rb

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ Middleware

Returns a new instance of Middleware.



30
31
32
# File 'lib/network_resiliency/adapter/rails.rb', line 30

def initialize(app)
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



34
35
36
37
38
39
40
41
42
43
# File 'lib/network_resiliency/adapter/rails.rb', line 34

def call(env)
  header = HTTP::REQUEST_TIMEOUT_HEADER.upcase.tr('-', '_')
  timeout = env["HTTP_#{header}"]&.to_f

  NetworkResiliency.deadline = timeout if timeout

  @app.call(env)
ensure
  NetworkResiliency.deadline = nil
end