summaryrefslogtreecommitdiff
path: root/lib/chef_zero/rest_request.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef_zero/rest_request.rb')
-rw-r--r--lib/chef_zero/rest_request.rb8
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