def request_with_newrelic_trace(params, &block)
resolved_params = newrelic_resolved_request_params(params)
wrapped_request = ::NewRelic::Agent::HTTPClients::ExconHTTPRequest.new(resolved_params)
segment = NewRelic::Agent::Transaction.start_external_request_segment(
wrapped_request.type, wrapped_request.uri, wrapped_request.method)
begin
response = nil
segment.add_request_headers wrapped_request
response = request_without_newrelic_trace(resolved_params, &block)
wrapped_response = ::NewRelic::Agent::HTTPClients::ExconHTTPResponse.new(response)
segment.read_response_headers wrapped_response
response
ensure
segment.finish
end
end