Sha256: 1b652157887d024e234a18c4f0fb026982d806cd640f32d84e07f44aeeed6b91

Contents?: true

Size: 743 Bytes

Versions: 1

Compression:

Stored size: 743 Bytes

Contents

require 'rails_autoscale_agent/logger'
require 'rails_autoscale_agent/store'
require 'rails_autoscale_agent/collector'
require 'rails_autoscale_agent/reporter'
require 'rails_autoscale_agent/config'
require 'rails_autoscale_agent/request'

module RailsAutoscaleAgent
  class Middleware
    include Logger

    def initialize(app)
      @app = app
    end

    def call(env)
      config = Config.new(ENV)

      logger.tagged 'RailsAutoscale' do
        request = Request.new(env, config)

        logger.debug "Middleware entered - request_id=#{request.id} path=#{request.path}"

        store = Store.instance
        Reporter.start(config, store)
        Collector.collect(request, store)
      end

      @app.call(env)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails_autoscale_agent-0.2.0 lib/rails_autoscale_agent/middleware.rb