From 937a7abe4556f06e056af33c40a07c3b58652ed7 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 24 Jul 2007 01:20:18 +0000 Subject: Fixed that file.content_type for uploaded files would include a trailing \r #9053 [bgreenlee] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7212 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/CHANGELOG | 2 ++ actionpack/lib/action_controller/request.rb | 2 +- actionpack/test/controller/request_test.rb | 6 +++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 8fc1201d6d..8e18d8e4ed 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed that file.content_type for uploaded files would include a trailing \r #9053 [bgreenlee] + * url_for now accepts a series of symbols representing the namespace of the record [Josh Knowles] * Make :trailing_slash work with query parameters for url_for. Closes #4004 [nov] diff --git a/actionpack/lib/action_controller/request.rb b/actionpack/lib/action_controller/request.rb index 528f076c24..bab265f77e 100755 --- a/actionpack/lib/action_controller/request.rb +++ b/actionpack/lib/action_controller/request.rb @@ -542,7 +542,7 @@ module ActionController filename = CGI.unescape(filename) end - /Content-Type: (.*)/ni.match(head) + /Content-Type: ([^\r]*)/ni.match(head) content_type = ($1 or "") (class << content; self; end).class_eval do diff --git a/actionpack/test/controller/request_test.rb b/actionpack/test/controller/request_test.rb index b45e7f8771..19ae17c171 100644 --- a/actionpack/test/controller/request_test.rb +++ b/actionpack/test/controller/request_test.rb @@ -667,7 +667,7 @@ class MultipartRequestParameterParsingTest < Test::Unit::TestCase file = params['file'] assert_kind_of StringIO, file assert_equal 'file.txt', file.original_filename - assert_equal "text/plain\r", file.content_type + assert_equal "text/plain", file.content_type assert_equal 'contents', file.read end @@ -679,7 +679,7 @@ class MultipartRequestParameterParsingTest < Test::Unit::TestCase file = params['file'] assert_kind_of Tempfile, file assert_equal 'file.txt', file.original_filename - assert_equal "text/plain\r", file.content_type + assert_equal "text/plain", file.content_type assert ('a' * 20480) == file.read end @@ -697,7 +697,7 @@ class MultipartRequestParameterParsingTest < Test::Unit::TestCase file = params['flowers'] assert_kind_of StringIO, file assert_equal 'flowers.jpg', file.original_filename - assert_equal "image/jpeg\r", file.content_type + assert_equal "image/jpeg", file.content_type assert_equal 19512, file.size #assert_equal File.read(File.dirname(__FILE__) + '/../../../activerecord/test/fixtures/flowers.jpg'), file.read end -- cgit v1.2.3