[Groonga-commit] groonga/grntest [master] Use CGI instead of Rack

Back to archive index

null+****@clear***** null+****@clear*****
2012年 6月 6日 (水) 17:15:17 JST


Haruka Yoshihara	2012-06-06 17:15:17 +0900 (Wed, 06 Jun 2012)

  New Revision: b25672371e29bd2c6f9e9e57a2eff477159fe7a4

  Log:
    Use CGI instead of Rack

  Modified files:
    lib/groonga/tester.rb
    test/test-executor.rb

  Modified: lib/groonga/tester.rb (+9 -2)
===================================================================
--- lib/groonga/tester.rb    2012-06-06 17:05:09 +0900 (90a1c50)
+++ lib/groonga/tester.rb    2012-06-06 17:15:17 +0900 (172721c)
@@ -24,6 +24,7 @@ require "tempfile"
 require "json"
 require "shellwords"
 require "open-uri"
+require "cgi/util"
 
 module Groonga
   class Tester
@@ -769,8 +770,14 @@ module Groonga
 
       def build_url(command, named_arguments)
         url = "/d/#{command}"
-        query = Rack::Utils.build_query(named_arguments)
-        url << "?#{query}" unless query.empty?
+        query_parameters = []
+        named_arguments.each do |name, argument|
+          query_parameters << "#{CGI.escape(name)}=#{CGI.escape(argument)}"
+        end
+        unless query_parameters.empty?
+          url << "?"
+          url << query_parameters.join("&")
+        end
         url
       end
     end

  Modified: test/test-executor.rb (+10 -4)
===================================================================
--- test/test-executor.rb    2012-06-06 17:05:09 +0900 (2558ddf)
+++ test/test-executor.rb    2012-06-06 17:15:17 +0900 (1bda6fe)
@@ -14,7 +14,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 require "stringio"
-require "rack/utils"
+require "cgi/util"
 require "groonga/tester"
 
 class TestExecutor < Test::Unit::TestCase
@@ -177,10 +177,16 @@ EOF
       converter.to_url
     end
 
-    def build_url(command, arguments)
+    def build_url(command, named_arguments)
       url = "/d/#{command}"
-      query = Rack::Utils.build_query(arguments)
-      url << "?#{query}" unless query.empty?
+      query_parameters = []
+      named_arguments.each do |name, argument|
+        query_parameters << "#{CGI.escape(name)}=#{CGI.escape(argument)}"
+      end
+      unless query_parameters.empty?
+        url << "?"
+        url << query_parameters.join("&")
+      end
       url
     end
   end




Groonga-commit メーリングリストの案内
Back to archive index