Class: RorVsWild::Plugin::Middleware
- Inherits:
-
Object
- Object
- RorVsWild::Plugin::Middleware
- Includes:
- RequestQueueTime
- Defined in:
- lib/rorvswild/plugin/middleware.rb
Defined Under Namespace
Modules: RequestQueueTime
Constant Summary
Constants included from RequestQueueTime
RequestQueueTime::ACCEPTABLE_HEADERS, RequestQueueTime::DIVISORS, RequestQueueTime::MINIMUM_TIMESTAMP
Class Method Summary collapse
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, config) ⇒ Middleware
constructor
A new instance of Middleware.
Methods included from RequestQueueTime
Constructor Details
#initialize(app, config) ⇒ Middleware
Returns a new instance of Middleware.
57 58 59 |
# File 'lib/rorvswild/plugin/middleware.rb', line 57 def initialize(app, config) @app, @config = app, config end |
Class Method Details
.setup(agent) ⇒ Object
51 52 53 54 55 |
# File 'lib/rorvswild/plugin/middleware.rb', line 51 def self.setup(agent) return if @installed Rails.application.config.middleware.unshift(RorVsWild::Plugin::Middleware, nil) if defined?(Rails) @installed = true end |
Instance Method Details
#call(env) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/rorvswild/plugin/middleware.rb', line 61 def call(env) execution = RorVsWild::Execution::Request.new(env["ORIGINAL_FULLPATH"]) execution.add_queue_time(calculate_queue_time(env)) RorVsWild.agent.start_execution(execution) section = RorVsWild::Section.start section.file, section.line = rails_engine_location section.commands << "Rails::Engine#call" code, headers, body = @app.call(env) [code, headers, body] ensure RorVsWild::Section.stop RorVsWild.agent.stop_execution end |