Module: Honeybadger::Plugins::NetHttp::Instrumentation
- Defined in:
- lib/honeybadger/plugins/net_http.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
8 9 10 11 |
# File 'lib/honeybadger/plugins/net_http.rb', line 8 def self.included(base) base.send(:alias_method, :request_without_honeybadger, :request) base.send(:alias_method, :request, :request_with_honeybadger) end |
Instance Method Details
#request_with_honeybadger(*args, &block) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/honeybadger/plugins/net_http.rb', line 13 def request_with_honeybadger(*args, &block) request = args[0] uri = request.path.to_s.match(%r{https?://}) ? URI(request.path) : URI("http#{use_ssl? ? 's' : ''}://#{address}:#{port}#{request.path}") if uri.host.to_s.match("honeybadger.io") return request_without_honeybadger(*args, &block) end ActiveSupport::Notifications.instrument("net_http.request", { :uri => uri, :method => request.method }) do # Disable tracing during #request so that additional calls (i.e. # when connection wasn't started) don't result in double counting. Trace.ignore_events { request_without_honeybadger(*args, &block) } end end |