diff options
-rw-r--r-- | config/application.rb | 2 | ||||
-rw-r--r-- | test/integration/attachments_test.rb | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/config/application.rb b/config/application.rb index 96fa38b49..965edcec2 100644 --- a/config/application.rb +++ b/config/application.rb @@ -55,7 +55,7 @@ module RedmineApp config.middleware.insert_after ActionDispatch::ParamsParser, ActionDispatch::XmlParamsParser # Sets the Content-Length header on responses with fixed-length bodies - config.middleware.use Rack::ContentLength + config.middleware.insert_after Rack::Sendfile, Rack::ContentLength # Verify validity of user sessions config.redmine_verify_sessions = true diff --git a/test/integration/attachments_test.rb b/test/integration/attachments_test.rb index 114e47a3a..ec7626953 100644 --- a/test/integration/attachments_test.rb +++ b/test/integration/attachments_test.rb @@ -136,6 +136,18 @@ class AttachmentsTest < Redmine::IntegrationTest assert_include "$('#attachments_1').remove();", response.body end + def test_download_should_set_sendfile_header + set_fixtures_attachments_directory + Rack::Sendfile.any_instance.stubs(:variation).returns("X-Sendfile") + + get "/attachments/download/4" + assert_response :success + assert_not_nil response.headers["X-Sendfile"] + + ensure + set_tmp_attachments_directory + end + private def ajax_upload(filename, content, attachment_id=1) |