Sha256: 22bbab200a5dfac0817b4a32cad6030871dccec922da54dbb5ad11fdbccc45bf
Contents?: true
Size: 1006 Bytes
Versions: 6
Compression:
Stored size: 1006 Bytes
Contents
# frozen_string_literal: true require 'faraday' module FaradayMiddleware # Public: Instruments requests using Active Support. # # Measures time spent only for synchronous requests. # # Examples # # ActiveSupport::Notifications. # subscribe('request.faraday') do |name, starts, ends, _, env| # url = env[:url] # http_method = env[:method].to_s.upcase # duration = ends - starts # $stderr.puts '[%s] %s %s (%.3f s)' % [url.host, # http_method, # url.request_uri, # duration] # end class Instrumentation < Faraday::Middleware dependency 'active_support/notifications' def initialize(app, options = {}) super(app) @name = options.fetch(:name, 'request.faraday') end def call(env) ::ActiveSupport::Notifications.instrument(@name, env) do @app.call(env) end end end end
Version data entries
6 entries across 6 versions & 2 rubygems