class Sentry::Faraday::Instrumenter

def extract_request_info(env)

def extract_request_info(env)
  url = env[:url].scheme + "://" + env[:url].host + env[:url].path
  result = { method: env[:method].to_s.upcase, url: url }
  if Sentry.configuration.send_default_pii
    result[:query] = env[:url].query
    result[:body] = env[:body]
  end
  result
end

def instrument(op_name, env, &block)

def instrument(op_name, env, &block)
  return block.call unless Sentry.initialized?
  Sentry.with_child_span(op: op_name, start_timestamp: Sentry.utc_now.to_f, origin: SPAN_ORIGIN) do |sentry_span|
    request_info = extract_request_info(env)
    if propagate_trace?(request_info[:url])
      set_propagation_headers(env[:request_headers])
    end
    res = block.call
    response_status = res.status
    if record_sentry_breadcrumb?
      record_sentry_breadcrumb(request_info, response_status)
    end
    if sentry_span
      set_span_info(sentry_span, request_info, response_status)
    end
    res
  end
end