Sha256: 27407cea12dfd9bc4663808475fb1c98806088ed778324142800431baa309b6d

Contents?: true

Size: 431 Bytes

Versions: 5

Compression:

Stored size: 431 Bytes

Contents

module Slowpoke
  class Timeout
    def initialize(app, service_timeout:)
      @app = app
      @service_timeout = service_timeout
      @middleware = {}
    end

    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
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
slowpoke-0.6.0 lib/slowpoke/timeout.rb
slowpoke-0.5.0 lib/slowpoke/timeout.rb
slowpoke-0.4.0 lib/slowpoke/timeout.rb
slowpoke-0.3.2 lib/slowpoke/timeout.rb
slowpoke-0.3.1 lib/slowpoke/timeout.rb