aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/cgi_process.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-05-18 06:24:50 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-05-18 06:24:50 +0000
commitd2ed32d5929f9d837280e2354e9a7e5c99fc445f (patch)
tree7ac2c4e932b825d2874b0bedc6e2a7766ac3d71a /actionpack/lib/action_controller/cgi_process.rb
parentb6541b8dcc6df9c92d946e1f76ec03f448d7fba4 (diff)
downloadrails-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.rb16
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