diff options
author | José Valim <jose.valim@gmail.com> | 2011-12-07 04:07:51 -0800 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2011-12-07 04:07:51 -0800 |
commit | eb22901920d339aa4cc510a74d75455f91e6e72f (patch) | |
tree | bac590ec167f3b3fbe2759a6f9c9525fb7d3377a /actionpack | |
parent | 885a599303585b796da7a0a1c3ccd0bc5c642134 (diff) | |
parent | a1986e7d55bed6895cab3d8b490f769d7abe727b (diff) | |
download | rails-eb22901920d339aa4cc510a74d75455f91e6e72f.tar.gz rails-eb22901920d339aa4cc510a74d75455f91e6e72f.tar.bz2 rails-eb22901920d339aa4cc510a74d75455f91e6e72f.zip |
Merge pull request #3878 from kennyj/should_use_default_charset
Use default charset when we read content type without charset.
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_dispatch/http/response.rb | 2 | ||||
-rw-r--r-- | actionpack/test/dispatch/response_test.rb | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/http/response.rb b/actionpack/lib/action_dispatch/http/response.rb index f1e85559a3..a1ece87d21 100644 --- a/actionpack/lib/action_dispatch/http/response.rb +++ b/actionpack/lib/action_dispatch/http/response.rb @@ -69,7 +69,7 @@ module ActionDispatch # :nodoc: if content_type = self["Content-Type"] type, charset = content_type.split(/;\s*charset=/) @content_type = Mime::Type.lookup(type) - @charset = charset || "UTF-8" + @charset = charset || self.class.default_charset end prepare_cache_control! diff --git a/actionpack/test/dispatch/response_test.rb b/actionpack/test/dispatch/response_test.rb index 5abbaf74fe..337ece6b88 100644 --- a/actionpack/test/dispatch/response_test.rb +++ b/actionpack/test/dispatch/response_test.rb @@ -130,6 +130,17 @@ class ResponseTest < ActiveSupport::TestCase assert_equal('application/xml; charset=utf-16', resp.headers['Content-Type']) end + + test "read content type without charset" do + original = ActionDispatch::Response.default_charset + begin + ActionDispatch::Response.default_charset = 'utf-16' + resp = ActionDispatch::Response.new(200, { "Content-Type" => "text/xml" }) + assert_equal('utf-16', resp.charset) + ensure + ActionDispatch::Response.default_charset = original + end + end end class ResponseIntegrationTest < ActionDispatch::IntegrationTest |