module OneApm::Support::HTTPClients::URIUtil

Public Class Methods

filter_uri(original) click to toggle source
# File lib/one_apm/support/http_clients/uri_util.rb, line 14
def self.filter_uri(original)
  filtered = original.dup
  filtered.user = nil
  filtered.password = nil
  filtered.query = nil
  filtered.fragment = nil
  filtered.to_s
end
parse_url(url) click to toggle source

There are valid URI strings that some HTTP client libraries will accept that the stdlib URI module doesn't handle. If we find that Addressable is around, use that to normalize out our URL's.

# File lib/one_apm/support/http_clients/uri_util.rb, line 26
def self.parse_url(url)
  if defined?(::Addressable::URI)
    address = ::Addressable::URI.parse(url)
    address.normalize!
    URI.parse(address.to_s)
  else
    if url.include?('://')
      URI.parse(url)
    else
      URI.parse('http://' + url)
    end
  end
end