diff options
author | kennyj <kennyj@gmail.com> | 2011-12-07 01:46:41 +0900 |
---|---|---|
committer | kennyj <kennyj@gmail.com> | 2011-12-07 12:35:44 +0900 |
commit | a1986e7d55bed6895cab3d8b490f769d7abe727b (patch) | |
tree | 063f4ea3916c3c3a24b7ca053042af725a345857 | |
parent | 9be2353fac89729b839df3d0538b607f3fc1aa87 (diff) | |
download | rails-a1986e7d55bed6895cab3d8b490f769d7abe727b.tar.gz rails-a1986e7d55bed6895cab3d8b490f769d7abe727b.tar.bz2 rails-a1986e7d55bed6895cab3d8b490f769d7abe727b.zip |
Use default charset when we read content type without charset.
-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 |