Class: StatsWhisper::Middleware

Inherits:
Object
  • Object
show all
Includes:
Caller
Defined in:
lib/stats_whisper/middleware.rb

Instance Method Summary collapse

Methods included from Caller

#gather_stats, #timing_allowed?

Methods included from Config

#app_name, #config, #whitelist

Methods included from Parser

#build_key, #parse

Constructor Details

#initialize(app) ⇒ Middleware

Returns a new instance of Middleware.



8
9
10
# File 'lib/stats_whisper/middleware.rb', line 8

def initialize(app)
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



12
13
14
15
16
# File 'lib/stats_whisper/middleware.rb', line 12

def call(env)
  (status, headers, body), response_time = call_with_timing(env)
  gather_stats(env, response_time)
  [status, headers, body]
end

#call_with_timing(env) ⇒ Object



18
19
20
21
22
# File 'lib/stats_whisper/middleware.rb', line 18

def call_with_timing(env)
  start = Time.now
  result = @app.call(env)
  [result, ((Time.now - start) * 1000).round]
end