module TingYun::Agent::HTTPClients::URIUtil
Constants
- QUESTION_MARK
Public Class Methods
filter_uri(original)
click to toggle source
# File lib/ting_yun/support/http_clients/uri_util.rb, line 15 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_and_normalize_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/ting_yun/support/http_clients/uri_util.rb, line 27 def self.parse_and_normalize_url(url) uri = url unless ::URI === uri if defined?(::Addressable::URI) address = ::Addressable::URI.parse(url) address.normalize! uri = ::URI.parse(address.to_s) else uri = ::URI.parse(url) end end uri.host.downcase! unless uri.host.nil? uri end
strip_query_string(fragment)
click to toggle source
# File lib/ting_yun/support/http_clients/uri_util.rb, line 44 def self.strip_query_string(fragment) if(fragment.include?(QUESTION_MARK)) fragment.split(QUESTION_MARK).first else fragment end end