summaryrefslogtreecommitdiff
path: root/lib/rubygems/uri_parser.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/uri_parser.rb')
-rw-r--r--lib/rubygems/uri_parser.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/rubygems/uri_parser.rb b/lib/rubygems/uri_parser.rb
index f350edec8c..f51d77a4af 100644
--- a/lib/rubygems/uri_parser.rb
+++ b/lib/rubygems/uri_parser.rb
@@ -5,10 +5,18 @@
#
class Gem::UriParser
+ def self.parse_uri(source_uri)
+ return source_uri unless source_uri.is_a?(String)
+
+ new.parse(source_uri)
+ end
+
##
# Parses the #uri, raising if it's invalid
def parse!(uri)
+ require "uri"
+
raise URI::InvalidURIError unless uri
# Always escape URI's to deal with potential spaces and such