class method
Gem::Uri.parse!
parse!(uri)
lib/rubygems/uri.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/rubygems/uri.rb, line 18
def self.parse!(uri)
require_relative "vendor/uri/lib/uri"
raise Gem::URI::InvalidURIError unless uri
return uri unless uri.is_a?(String)
# Always escape URI's to deal with potential spaces and such
# It should also be considered that source_uri may already be
# a valid URI with escaped characters. e.g. "{DESede}" is encoded
# as "%7BDESede%7D". If this is escaped again the percentage
# symbols will be escaped.
begin
Gem::URI.parse(uri)
rescue Gem::URI::InvalidURIError
Gem::URI.parse(Gem::URI::RFC2396_PARSER.escape(uri))
end
end
Parses uri, raising if it’s invalid