Class: ProxES::Middleware::Metrics

Inherits:
Object
  • Object
show all
Includes:
Wisper::Publisher
Defined in:
lib/proxes/middleware/metrics.rb

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ Metrics

Returns a new instance of Metrics.



10
11
12
# File 'lib/proxes/middleware/metrics.rb', line 10

def initialize(app)
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/proxes/middleware/metrics.rb', line 14

def call(env)
  request = Request.from_env(env)
  broadcast(:call_started, request)

  result = @app.call request.env

  broadcast(:call_completed, request) if result[0].to_i >= 200 && result[0].to_i < 300
  result
end