class RailsAutoscaleAgent::Middleware

Public Class Methods

new(app) click to toggle source
# File lib/rails_autoscale_agent/middleware.rb, line 10
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/rails_autoscale_agent/middleware.rb, line 14
def call(env)
  config = Config.instance
  request = Request.new(env, config)

  store = Store.instance
  Reporter.start(config, store)

  if !request.ignore? && queue_time = request.queue_time
    # NOTE: Expose queue time to the app
    env['queue_time'] = queue_time
    store.push queue_time
  end

  @app.call(env)
end