diff --git a/Services/www/www/gxg-www.rb b/Services/www/www/gxg-www.rb index 39c07c1..85e85ff 100644 --- a/Services/www/www/gxg-www.rb +++ b/Services/www/www/gxg-www.rb @@ -848,15 +848,16 @@ module GxGwww end # operations = [] + the_parser = URI::Parser.new case the_method when :get if the_request.params["details"].to_s.size > 0 - operations = (::JSON::parse(URI.unescape(URI.unescape(the_request.params["details"].to_s.decode64)), {:symbolize_names => true})) + operations = (::JSON::parse(the_parser.unescape(the_parser.unescape(the_request.params["details"].to_s.decode64)), {:symbolize_names => true})) end when :put if the_request.body.respond_to?(:rewind) && the_request.body.respond_to?(:read) the_request.body.rewind - operations = (::JSON::parse(URI.unescape(URI.unescape(the_request.body.read())), {:symbolize_names => true})) + operations = (::JSON::parse(the_parser.unescape(the_parser.unescape(the_request.body.read())), {:symbolize_names => true})) else log_warn("Abnormal PUT Body #{the_request.body.inspect}") end