Dont set default charset if the response is sending a file. Closes #6689 [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5626 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
cf248eae1f
commit
396b3f2bef
|
@ -1087,7 +1087,11 @@ module ActionController #:nodoc:
|
|||
|
||||
def assign_default_content_type_and_charset
|
||||
response.content_type ||= Mime::HTML
|
||||
response.charset ||= self.class.default_charset
|
||||
response.charset ||= self.class.default_charset unless sending_file?
|
||||
end
|
||||
|
||||
def sending_file?
|
||||
response.headers["Content-Transfer-Encoding"] == "binary"
|
||||
end
|
||||
|
||||
def action_methods
|
||||
|
|
|
@ -63,6 +63,14 @@ class SendFileTest < Test::Unit::TestCase
|
|||
assert_equal file_data, response.body
|
||||
end
|
||||
|
||||
def test_headers_after_send_shouldnt_include_charset
|
||||
response = process('data')
|
||||
assert_equal "application/octet-stream", response.headers["Content-Type"]
|
||||
|
||||
response = process('file')
|
||||
assert_equal "application/octet-stream", response.headers["Content-Type"]
|
||||
end
|
||||
|
||||
# Test that send_file_headers! is setting the correct HTTP headers.
|
||||
def test_send_file_headers!
|
||||
options = {
|
||||
|
|
Loading…
Reference in New Issue