Method: Datadog::Tracing::Contrib::Utils::Quantization::HTTP.url!

Defined in:
lib/datadog/tracing/contrib/utils/quantization/http.rb

.url!(url, options = {}) ⇒ Object


39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/datadog/tracing/contrib/utils/quantization/http.rb', line 39

def url!(url, options = {})
  options ||= {}

  URI.parse(url).tap do |uri|
    # Format the query string
    if uri.query
      query = query(uri.query, options[:query])
      uri.query = (!query.nil? && query.empty? ? nil : query)
    end

    # Remove any URI fragments
    uri.fragment = nil unless options[:fragment] == :show

    if options[:base] == :exclude
      uri.host = nil
      uri.port = nil
      uri.scheme = nil
    end
  end.to_s
end