From e9681eb9c5bd29f555d56bb9842f1d561334a21e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 18 Apr 2005 14:15:26 +0000 Subject: Added graceful handling of PUT, DELETE, and OPTIONS requests for a complete coverage of REST functionality #1136 [joshknowles@gmail.com] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1208 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'actionpack/lib') diff --git a/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb b/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb index 7b3465c4a8..d6dbbd737f 100644 --- a/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb +++ b/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb @@ -28,13 +28,9 @@ class CGI #:nodoc: def read_query_params case env_table['REQUEST_METHOD'] - when 'GET', 'HEAD' - if defined? MOD_RUBY - Apache::request.args || '' - else - env_table['QUERY_STRING'] || '' - end - when 'POST' + when 'GET', 'HEAD', 'DELETE', 'OPTIONS' + (defined?(MOD_RUBY) ? Apache::request.args : env_table['QUERY_STRING']) || '' + when 'POST', 'PUT' stdinput.binmode if stdinput.respond_to?(:binmode) content = stdinput.read(Integer(env_table['CONTENT_LENGTH'])) || '' env_table['RAW_POST_DATA'] = content.split("&_").first.to_s.freeze # &_ is a fix for Safari Ajax postings that always append \000 -- cgit v1.2.3