aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2005-09-02 14:40:33 +0000
committerJamis Buck <jamis@37signals.com>2005-09-02 14:40:33 +0000
commit62ec1a53735aa0a4a716f24fc57bf0462f560116 (patch)
treeb67fa346ddefe6c5a068132c94506e0fc15381bd /actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb
parent7a0e1bd56ae4eb50e933cd33d8a44fedbf1eb4ef (diff)
downloadrails-62ec1a53735aa0a4a716f24fc57bf0462f560116.tar.gz
rails-62ec1a53735aa0a4a716f24fc57bf0462f560116.tar.bz2
rails-62ec1a53735aa0a4a716f24fc57bf0462f560116.zip
Drop trailing \000 if present on RAW_POST_DATA (works around bug in Safari Ajax implementation) #918
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2106 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb')
-rw-r--r--actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb4
1 files changed, 3 insertions, 1 deletions
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 507fd2fba7..d07be9f931 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
@@ -52,7 +52,9 @@ class CGI #:nodoc:
def read_params_from_post
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
+ # fix for Safari Ajax postings that always append \000
+ content = content.chop if content[-1] == 0
+ env_table['RAW_POST_DATA'] = content.freeze
end
def read_query_params(method)