diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2007-05-18 06:24:50 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2007-05-18 06:24:50 +0000 |
commit | d2ed32d5929f9d837280e2354e9a7e5c99fc445f (patch) | |
tree | 7ac2c4e932b825d2874b0bedc6e2a7766ac3d71a /actionpack/lib/action_controller/cgi_process.rb | |
parent | b6541b8dcc6df9c92d946e1f76ec03f448d7fba4 (diff) | |
download | rails-d2ed32d5929f9d837280e2354e9a7e5c99fc445f.tar.gz rails-d2ed32d5929f9d837280e2354e9a7e5c99fc445f.tar.bz2 rails-d2ed32d5929f9d837280e2354e9a7e5c99fc445f.zip |
Parse url-encoded and multipart requests ourselves instead of delegating to CGI.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6764 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller/cgi_process.rb')
-rw-r--r-- | actionpack/lib/action_controller/cgi_process.rb | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/actionpack/lib/action_controller/cgi_process.rb b/actionpack/lib/action_controller/cgi_process.rb index 40a533ad6f..dcfa39fc03 100644 --- a/actionpack/lib/action_controller/cgi_process.rb +++ b/actionpack/lib/action_controller/cgi_process.rb @@ -47,12 +47,11 @@ module ActionController #:nodoc: end def query_string - if (qs = @cgi.query_string) && !qs.empty? + qs = @cgi.query_string + if !qs.blank? qs elsif uri = @env['REQUEST_URI'] - parts = uri.split('?') - parts.shift - parts.join('?') + uri.split('?', 2).last else @env['QUERY_STRING'] || '' end @@ -69,16 +68,11 @@ module ActionController #:nodoc: end def query_parameters - @query_parameters ||= CGI.parse_query_parameters(query_string) + @query_parameters ||= self.class.parse_query_parameters(query_string) end def request_parameters - @request_parameters ||= - if ActionController::Base.param_parsers.has_key?(content_type) - self.class.parse_formatted_request_parameters(content_type, body.read) - else - CGI.parse_request_parameters(@cgi.params) - end + @request_parameters ||= self.class.parse_formatted_request_parameters(body, content_type_with_parameters, content_length, env) end def cookies |