From dcbe0bccd1e5145cc6d2ab4ceb578e7548872d8b Mon Sep 17 00:00:00 2001 From: Rafael P Date: Sun, 31 Jul 2022 20:18:41 -0500 Subject: [PATCH 1/2] Issue loading media when RENDER_DEPENDENCIES True --- django_components/middleware.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_components/middleware.py b/django_components/middleware.py index fef98146..1a40e9e0 100644 --- a/django_components/middleware.py +++ b/django_components/middleware.py @@ -32,7 +32,7 @@ class ComponentDependencyMiddleware: "RENDER_DEPENDENCIES", False ) and not isinstance(response, StreamingHttpResponse) - and response["Content-Type"].startswith("text/html") + and response.get("Content-Type", "").startswith("text/html") ): response.content = process_response_content(response.content) return response From f7ae307c790c124ce3a5be97c2f695d9e5fd517b Mon Sep 17 00:00:00 2001 From: Humberto Alves Date: Thu, 5 Jan 2023 09:59:55 +0000 Subject: [PATCH 2/2] Add test for passing a response to the middleware without Content-Type header. --- tests/test_dependency_rendering.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/test_dependency_rendering.py b/tests/test_dependency_rendering.py index b5730a45..6b060058 100644 --- a/tests/test_dependency_rendering.py +++ b/tests/test_dependency_rendering.py @@ -1,7 +1,11 @@ +from unittest.mock import Mock + +from django.http import HttpResponseNotModified from django.template import Template from django.test import override_settings from django_components import component +from django_components.middleware import ComponentDependencyMiddleware from .django_test_setup import * # NOQA from .test_templatetags import SimpleComponent @@ -380,3 +384,11 @@ class ComponentMediaRenderingTests(SimpleTestCase): ) rendered = create_and_process_template_response(template) self.assertNotIn("_RENDERED", rendered) + + def test_middleware_response_without_content_type(self): + response = HttpResponseNotModified() + middleware = ComponentDependencyMiddleware( + get_response=lambda _: response + ) + request = Mock() + self.assertEqual(response, middleware(request=request))