Sha256: 1737eba371719e80a9670dab67284f9d4b16e73591e1d48e167c8b59f2baf97a

Contents?: true

Size: 453 Bytes

Versions: 2

Compression:

Stored size: 453 Bytes

Contents

require_relative 'caller'

module StatsWhisper
  class Middleware

    include Caller

    def initialize(app)
      @app = app
    end

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

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
stats_whisper-0.2.3 lib/stats_whisper/middleware.rb
stats_whisper-0.2.2.1 lib/stats_whisper/middleware.rb