summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2023-03-14 05:45:30 +0100
committerGitHub <noreply@github.com>2023-03-14 05:45:30 +0100
commit254ad2e3450d8175170914f06af8358d2becc35b (patch)
tree89aabc82fb316ea50bc79354a9c4aba233ebdf0a
parentfbe850106b2e4b85f838219cb9e1df95fba6c164 (diff)
downloaddjango-254ad2e3450d8175170914f06af8358d2becc35b.tar.gz
Fixed #34405 -- Fixed setting Content-Type header in FileResponse for compress and brotli.
Thanks Chamal De Silva for the report.
-rw-r--r--django/http/response.py2
-rw-r--r--tests/responses/test_fileresponse.py2
2 files changed, 4 insertions, 0 deletions
diff --git a/django/http/response.py b/django/http/response.py
index f62dec8ce9..3b611e78f5 100644
--- a/django/http/response.py
+++ b/django/http/response.py
@@ -609,7 +609,9 @@ class FileResponse(StreamingHttpResponse):
# Encoding isn't set to prevent browsers from automatically
# uncompressing files.
content_type = {
+ "br": "application/x-brotli",
"bzip2": "application/x-bzip",
+ "compress": "application/x-compress",
"gzip": "application/gzip",
"xz": "application/x-xz",
}.get(encoding, content_type)
diff --git a/tests/responses/test_fileresponse.py b/tests/responses/test_fileresponse.py
index 952fe4dd7c..d14eb82c62 100644
--- a/tests/responses/test_fileresponse.py
+++ b/tests/responses/test_fileresponse.py
@@ -253,8 +253,10 @@ class FileResponseTests(SimpleTestCase):
"""
test_tuples = (
(".tar.gz", "application/gzip"),
+ (".tar.br", "application/x-brotli"),
(".tar.bz2", "application/x-bzip"),
(".tar.xz", "application/x-xz"),
+ (".tar.Z", "application/x-compress"),
)
for extension, mimetype in test_tuples:
with self.subTest(ext=extension):