class Excon::Rails::Middleware
Middleware
for tracking requests
Public Class Methods
install()
click to toggle source
# File lib/excon/rails/middleware.rb, line 8 def install index = ::Excon.defaults[:middlewares] .index(::Excon::Middleware::Instrumentor) ::Excon.defaults[:middlewares].insert(index || -1, self) end
Public Instance Methods
error_call(datum)
click to toggle source
# File lib/excon/rails/middleware.rb, line 15 def error_call(datum) ActiveSupport::Notifications .instrument('error.excon', error: datum[:error]) @stack.error_call(datum) end
request_call(datum)
click to toggle source
# File lib/excon/rails/middleware.rb, line 21 def request_call(datum) ActiveSupport::Notifications.instrument(event_name(datum), datum) do @stack.request_call(datum) end end
response_call(datum)
click to toggle source
# File lib/excon/rails/middleware.rb, line 27 def response_call(datum) ActiveSupport::Notifications .instrument('response.excon', datum[:response]) @stack.response_call(datum) end
Private Instance Methods
event_name(datum)
click to toggle source
# File lib/excon/rails/middleware.rb, line 35 def event_name(datum) if datum[:retries_remaining] < datum[:retry_limit] 'retry.excon' else 'request.excon' end end