From cf555b8aec33a3b39c3437a919c8b3fc8751fc98 Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Thu, 9 Jan 2020 10:08:52 +0100 Subject: [PATCH] Fixed broken HTML manifest regex --- api/funkwhale_api/common/middleware.py | 2 +- api/tests/common/test_middleware.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/api/funkwhale_api/common/middleware.py b/api/funkwhale_api/common/middleware.py index 69d34e2b..9e2a59dc 100644 --- a/api/funkwhale_api/common/middleware.py +++ b/api/funkwhale_api/common/middleware.py @@ -77,7 +77,7 @@ def serve_spa(request): return http.HttpResponse(head + tail) -MANIFEST_LINK_REGEX = re.compile(r"<link .*rel=(?:'|\")?manifest(?:'|\")?.*>") +MANIFEST_LINK_REGEX = re.compile(r"<link [^>]*rel=(?:'|\")?manifest(?:'|\")?[^>]*>") def replace_manifest_url(head, new_url): diff --git a/api/tests/common/test_middleware.py b/api/tests/common/test_middleware.py index c67982f8..d3908e3f 100644 --- a/api/tests/common/test_middleware.py +++ b/api/tests/common/test_middleware.py @@ -274,7 +274,9 @@ def test_throttle_status_middleware_returns_proper_response(mocker): def test_rewrite_manifest_json_url(link, new_url, expected, mocker, settings): settings.FUNKWHALE_SPA_REWRITE_MANIFEST = True settings.FUNKWHALE_SPA_REWRITE_MANIFEST_URL = new_url - spa_html = "<html><head>{}</head></html>".format(link) + spa_html = "<html><head><link rel=before>{}<link rel=after></head></html>".format( + link + ) request = mocker.Mock(path="/") mocker.patch.object(middleware, "get_spa_html", return_value=spa_html) mocker.patch.object( @@ -283,7 +285,9 @@ def test_rewrite_manifest_json_url(link, new_url, expected, mocker, settings): response = middleware.serve_spa(request) assert response.status_code == 200 - expected_html = "<html><head>{}\n\n</head></html>".format(expected) + expected_html = "<html><head><link rel=before>{}<link rel=after>\n\n</head></html>".format( + expected + ) assert response.content == expected_html.encode() -- GitLab