Merge branch '705-on-disk-spa' into 'master'

Fix #705: Can now use a local file with FUNKWHALE_SPA_HTML_ROOT to avoid sending an HTTP request

See merge request funkwhale/funkwhale!592
This commit is contained in:
Eliot Berriot 2019-02-08 17:38:51 +01:00
commit f780fa24c1
3 changed files with 11 additions and 0 deletions

View File

@ -56,6 +56,10 @@ def serve_spa(request):
def get_spa_html(spa_url):
if spa_url.startswith("/"):
# we try to open a local file
with open(spa_url) as f:
return f.read()
cache_key = "spa-html:{}".format(spa_url)
cached = caches["local"].get(cache_key)
if cached:

View File

@ -126,6 +126,12 @@ def test_get_spa_html_from_http(local_cache, r_mock, mocker, settings):
)
def test_get_spa_html_from_disk(tmpfile):
with open(tmpfile.name, "wb") as f:
f.write(b"hello world")
assert middleware.get_spa_html(tmpfile.name) == "hello world"
def test_get_route_head_tags(mocker, settings):
match = mocker.Mock(args=[], kwargs={"pk": 42}, func=mocker.Mock())
resolve = mocker.patch("django.urls.resolve", return_value=match)

View File

@ -0,0 +1 @@
Can now use a local file with FUNKWHALE_SPA_HTML_ROOT to avoid sending an HTTP request (#705)