Sha256: 1033e6c519a2e978a86c264175f9f9a2ac143cb22e8f159c0f02a6c56795cf90

Contents?: true

Size: 469 Bytes

Versions: 6

Compression:

Stored size: 469 Bytes

Contents

# frozen_string_literal: true

require 'wisper'

module ProxES
  module Middleware
    class Metrics
      include Wisper::Publisher

      def initialize(app)
        @app = app
      end

      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
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
proxes-0.10.1 lib/proxes/middleware/metrics.rb
proxes-0.9.13 lib/proxes/middleware/metrics.rb
proxes-0.9.12 lib/proxes/middleware/metrics.rb
proxes-0.9.9 lib/proxes/middleware/metrics.rb
proxes-0.9.7 lib/proxes/middleware/metrics.rb
proxes-0.9.4 lib/proxes/middleware/metrics.rb