From d8ccbf37576d53fe37489d818b63def524df1a44 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Sun, 20 Dec 2009 20:50:15 -0600 Subject: Extract parse_query and parse_multipart in Request so subclasses can change their behavior [#71 state:resolved] --- lib/rack/request.rb | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/rack/request.rb b/lib/rack/request.rb index d15273a6..957abbb5 100644 --- a/lib/rack/request.rb +++ b/lib/rack/request.rb @@ -124,8 +124,7 @@ module Rack @env["rack.request.query_hash"] else @env["rack.request.query_string"] = query_string - @env["rack.request.query_hash"] = - Utils.parse_nested_query(query_string) + @env["rack.request.query_hash"] = parse_query(query_string) end end @@ -140,15 +139,14 @@ module Rack @env["rack.request.form_hash"] elsif form_data? || parseable_data? @env["rack.request.form_input"] = @env["rack.input"] - unless @env["rack.request.form_hash"] = - Utils::Multipart.parse_multipart(env) + unless @env["rack.request.form_hash"] = parse_multipart(env) form_vars = @env["rack.input"].read # Fix for Safari Ajax postings that always append \0 form_vars.sub!(/\0\z/, '') @env["rack.request.form_vars"] = form_vars - @env["rack.request.form_hash"] = Utils.parse_nested_query(form_vars) + @env["rack.request.form_hash"] = parse_query(form_vars) @env["rack.input"].rewind end @@ -256,5 +254,14 @@ module Rack @env['REMOTE_ADDR'] end end + + protected + def parse_query(qs) + Utils.parse_nested_query(qs) + end + + def parse_multipart(env) + Utils::Multipart.parse_multipart(env) + end end end -- cgit v1.2.3-24-ge0c7