diff --git a/ghi b/ghi index c578de9..909dad7 100755 --- a/ghi +++ b/ghi @@ -1358,7 +1358,8 @@ module GHI def request method, path, options path = "/api/v3#{path}" if HOST != DEFAULT_HOST - path = URI.escape path + parser = URI::Parser.new + path = parser.escape(path) if params = options[:params] and !params.empty? q = params.map { |k, v| "#{CGI.escape k.to_s}=#{CGI.escape v.to_s}" } path += "?#{q.join '&'}" diff --git a/lib/ghi/client.rb b/lib/ghi/client.rb index 5ae8a86..64904d3 100644 --- a/lib/ghi/client.rb +++ b/lib/ghi/client.rb @@ -97,7 +97,8 @@ def delete path, options = {} def request method, path, options path = "/api/v3#{path}" if HOST != DEFAULT_HOST - path = URI.escape path + parser = URI::Parser.new + path = parser.escape(path) if params = options[:params] and !params.empty? q = params.map { |k, v| "#{CGI.escape k.to_s}=#{CGI.escape v.to_s}" } path += "?#{q.join '&'}"