Make sure files downloaded from the apiserver are not cached by browsers

This commit is contained in:
allegroai 2024-01-10 15:31:01 +02:00
parent 8c347f8fa9
commit db15f235e4

View File

@ -42,7 +42,10 @@ class RequestHandlers:
response = redirect(call.result.redirect.url, call.result.redirect.code) response = redirect(call.result.redirect.url, call.result.redirect.code)
else: else:
headers = None headers = None
disable_cache = False
if call.result.filename: if call.result.filename:
# make sure that downloaded files are not cached by the client
disable_cache = True
try: try:
call.result.filename.encode("ascii") call.result.filename.encode("ascii")
except UnicodeEncodeError: except UnicodeEncodeError:
@ -61,6 +64,9 @@ class RequestHandlers:
status=call.result.code, status=call.result.code,
headers=headers, headers=headers,
) )
if disable_cache:
response.cache_control.no_store = True
response.cache_control.max_age = 0
if call.result.cookies: if call.result.cookies:
for key, value in call.result.cookies.items(): for key, value in call.result.cookies.items():