diff --git a/lib/gemstash/storage.rb b/lib/gemstash/storage.rb index 3a015b53e3..cc24b831b8 100644 --- a/lib/gemstash/storage.rb +++ b/lib/gemstash/storage.rb @@ -117,6 +117,7 @@ def initialize(folder, name) digest = Digest::MD5.hexdigest(@name) child_folder = "#{safe_name}-#{digest}" @folder = File.join(@base_path, *trie_parents, child_folder) + @properties = nil end # When +key+ is nil, this will test if this resource exists with any diff --git a/lib/gemstash/upstream.rb b/lib/gemstash/upstream.rb index 839ca7e69b..698aee9292 100644 --- a/lib/gemstash/upstream.rb +++ b/lib/gemstash/upstream.rb @@ -11,9 +11,9 @@ class Upstream def_delegators :@uri, :scheme, :host, :user, :password, :to_s def initialize(upstream, user_agent: nil) - @uri = URI(URI.decode(upstream.to_s)) + @uri = URI(CGI.unescape(upstream.to_s)) @user_agent = user_agent - raise "URL '#{@uri}' is not valid!" unless @uri.to_s =~ URI.regexp + raise "URL '#{@uri}' is not valid!" unless @uri.to_s =~ URI::DEFAULT_PARSER.make_regexp end def url(path = nil, params = nil)