class ServiceDowntimeSimulator::Middleware

Attributes

app[R]
config[R]

Public Class Methods

new(app, config) click to toggle source
# File lib/service_downtime_simulator/middleware.rb, line 3
def initialize(app, config)
  @app = app
  @config = ServiceDowntimeSimulator::Config.for(config)
end

Public Instance Methods

call(env) click to toggle source
# File lib/service_downtime_simulator/middleware.rb, line 8
def call(env)
  return app.call(env) if bypass?(env)

  config.mode_klass.new(app).call(env)
end

Private Instance Methods

bypass?(env) click to toggle source
# File lib/service_downtime_simulator/middleware.rb, line 18
def bypass?(env)
  !config.activated? || config.path_excluded?(env['PATH_INFO'])
end