Skip to content

Commit 2a8bcf7

Browse files
committed
Fix root passthru after 285f0bc
1 parent e3f695b commit 2a8bcf7

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

feincms3/root/middleware.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,12 @@ def create_page_if_404_middleware(*, queryset, handler, language_code_redirect=F
7070
def outer(get_response):
7171
def inner(request):
7272
response = get_response(request)
73-
if response.status_code != 404 or is_valid_path(request.path_info):
73+
if response.status_code != 404 or (
74+
not getattr(response, "_root_middleware", False)
75+
and is_valid_path(request.path_info)
76+
):
77+
# Response is not a 404 OR the path can be resolved and running
78+
# the middleware hasn't been requested explicitly.
7479
return response
7580
qs = queryset(request) if callable(queryset) else queryset._clone()
7681
if page := qs.filter(path=request.path_info).first():

feincms3/root/passthru.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@
4141
from feincms3.applications import reverse_app
4242

4343

44+
def passthru(request):
45+
response = HttpResponseNotFound()
46+
# Trigger the root middleware
47+
response._root_middleware = True
48+
return response
49+
50+
4451
app_name = "passthru"
45-
urlpatterns = [
46-
path(
47-
"",
48-
# Trigger the page_if_404_middleware
49-
lambda request: HttpResponseNotFound(),
50-
name="passthru",
51-
),
52-
]
52+
urlpatterns = [path("", passthru, name="passthru")]
5353

5454

5555
def reverse_passthru(namespace, **kwargs):

0 commit comments

Comments
 (0)