class Slowpoke::Timeout

Public Class Methods

new(app, service_timeout:) click to toggle source
# File lib/slowpoke/timeout.rb, line 3
def initialize(app, service_timeout:)
  @app = app
  @service_timeout = service_timeout
  @middleware = {}
end

Public Instance Methods

call(env) click to toggle source
# File lib/slowpoke/timeout.rb, line 9
def call(env)
  service_timeout = @service_timeout.call(env)
  if service_timeout
    (@middleware[service_timeout] ||= Rack::Timeout.new(@app, service_timeout: service_timeout)).call(env)
  else
    @app.call(env)
  end
end