From d8add0409c2ab8d7bc0fca0186fcaa51288cff4f Mon Sep 17 00:00:00 2001 From: pavel Date: Fri, 18 Sep 2020 20:18:57 +0200 Subject: [PATCH] add content type for html reponses --- lib/redmine_dmsf/webdav/dmsf_resource.rb | 1 + lib/redmine_dmsf/webdav/index_resource.rb | 1 + lib/redmine_dmsf/webdav/project_resource.rb | 1 + test/integration/webdav/dmsf_webdav_get_test.rb | 7 +++++++ 4 files changed, 10 insertions(+) diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index a251181f..c3ca413a 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -200,6 +200,7 @@ module RedmineDmsf if collection? html_display response['Content-Length'] = response.body.bytesize.to_s + response['Content-Type'] = 'text/html' else raise Forbidden unless User.current.admin? || User.current.allowed_to?(:view_dmsf_files, project) response.body = download # Rack based provider diff --git a/lib/redmine_dmsf/webdav/index_resource.rb b/lib/redmine_dmsf/webdav/index_resource.rb index 45e2c709..9b47daa4 100644 --- a/lib/redmine_dmsf/webdav/index_resource.rb +++ b/lib/redmine_dmsf/webdav/index_resource.rb @@ -68,6 +68,7 @@ module RedmineDmsf def get(request, response) html_display response['Content-Length'] = response.body.bytesize.to_s + response['Content-Type'] = 'text/html' OK end diff --git a/lib/redmine_dmsf/webdav/project_resource.rb b/lib/redmine_dmsf/webdav/project_resource.rb index 51fe951e..04d78acf 100644 --- a/lib/redmine_dmsf/webdav/project_resource.rb +++ b/lib/redmine_dmsf/webdav/project_resource.rb @@ -97,6 +97,7 @@ module RedmineDmsf def get(request, response) html_display response['Content-Length'] = response.body.bytesize.to_s + response['Content-Type'] = 'text/html' OK end diff --git a/test/integration/webdav/dmsf_webdav_get_test.rb b/test/integration/webdav/dmsf_webdav_get_test.rb index 81c8eece..1ae9b210 100644 --- a/test/integration/webdav/dmsf_webdav_get_test.rb +++ b/test/integration/webdav/dmsf_webdav_get_test.rb @@ -41,6 +41,13 @@ class DmsfWebdavGetTest < RedmineDmsf::Test::IntegrationTest assert_response :success end + def test_should_include_response_headers + get '/dmsf/webdav', params: nil, headers: @admin + assert_response :success + assert_equal 'text/html', response.headers['Content-Type'] + assert response.headers['Content-Length'].to_i > 0, "Content-Length should be > 0, but was #{response.headers['Content-Length']}" + end + def test_should_list_dmsf_enabled_project get '/dmsf/webdav', params: nil, headers: @admin assert_response :success