class Excon::Connection
Public Class Methods
install_oneapm_instrumentation()
click to toggle source
# File lib/one_apm/inst/http_clients/excon/connection.rb, line 26 def self.install_oneapm_instrumentation alias request_without_oneapm_trace request alias request request_with_oneapm_trace end
Public Instance Methods
oneapm_connection_params()
click to toggle source
# File lib/one_apm/inst/http_clients/excon/connection.rb, line 5 def oneapm_connection_params (@connection || @data) end
oneapm_resolved_request_params(request_params)
click to toggle source
# File lib/one_apm/inst/http_clients/excon/connection.rb, line 9 def oneapm_resolved_request_params(request_params) resolved = oneapm_connection_params.merge(request_params) resolved[:headers] = resolved[:headers].merge(request_params[:headers] || {}) resolved end
request_with_oneapm_trace(params, &block)
click to toggle source
# File lib/one_apm/inst/http_clients/excon/connection.rb, line 15 def request_with_oneapm_trace(params, &block) orig_response = nil resolved_params = oneapm_resolved_request_params(params) wrapped_request = ::OneApm::Support::HTTPClients::ExconHTTPRequest.new(resolved_params) ::OneApm::Agent::CrossAppTracing.tl_trace_http_request(wrapped_request) do orig_response = request_without_oneapm_trace(resolved_params, &block) ::OneApm::Support::HTTPClients::ExconHTTPResponse.new(orig_response) end orig_response end