diff options
Diffstat (limited to 'lib/chef_zero/rest_request.rb')
-rw-r--r-- | lib/chef_zero/rest_request.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/chef_zero/rest_request.rb b/lib/chef_zero/rest_request.rb index 379cc20..c260316 100644 --- a/lib/chef_zero/rest_request.rb +++ b/lib/chef_zero/rest_request.rb @@ -1,8 +1,8 @@ require "rack/request" +require "cgi" module ChefZero class RestRequest - def initialize(env, rest_base_prefix = []) @env = env @rest_base_prefix = rest_base_prefix @@ -61,7 +61,7 @@ module ChefZero @query_params ||= begin params = Rack::Request.new(env).GET params.keys.each do |key| - params[key] = URI.unescape(params[key]) + params[key] = self.class.rfc2396_parser.unescape(params[key]) end params end @@ -80,5 +80,9 @@ module ChefZero end result end + + def self.rfc2396_parser + @parser ||= URI::RFC2396_Parser.new + end end end |