From e5fad2511a97df75453b9c8b38b2c26e4aae87c8 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Wed, 24 Apr 2024 14:01:26 +0200 Subject: [PATCH] fix S3 file server thhough nginx accel redirect --- app/settings.py | 2 +- teleforma/views/core.py | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/settings.py b/app/settings.py index 078ffafa..0b087050 100644 --- a/app/settings.py +++ b/app/settings.py @@ -268,7 +268,7 @@ TELEFORMA_PERIOD_DEFAULT_ID = 34 TELEFORMA_EXAM_MAX_SESSIONS = 99 TELEFORMA_EXAM_SCRIPT_MAX_SIZE = 31457280 TELEFORMA_EXAM_SCRIPT_SERVICE_URL = '/webviewer/teleforma.html' -TELEFORMA_PRIVATE_DOCUMENTS_MODE = False +TELEFORMA_PRIVATE_DOCUMENTS_MODE = True TELEFORMA_PRIVATE_MEDIA_USE_S3 = True AWS_ACCESS_KEY_ID="" diff --git a/teleforma/views/core.py b/teleforma/views/core.py index e261d813..b2b01331 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -280,12 +280,16 @@ def render_to_pdf(request, template, context, filename=None, encoding='utf-8', return HttpResponse('Errors rendering pdf:
%s
' % escape(content)) -def serve_media(file, content_type="", buffering=True, streaming=False): +def serve_media(file, content_type="", buffering=True, streaming=False, bucket=True): if not content_type: content_type = guess_mimetypes(file.url) if not settings.DEBUG: - return nginx_media_accel(file.url, content_type=content_type, + if bucket: + url = '/media/bucket/' + file.url.split(settings.AWS_S3_ENDPOINT_URL)[-1] + else: + url = file.url + return nginx_media_accel(url, content_type=content_type, buffering=buffering, streaming=streaming) else: response = StreamingHttpResponse( @@ -307,13 +311,14 @@ def nginx_media_accel(url, content_type="", buffering=True, streaming=False): if not streaming: response['Content-Disposition'] = "attachment; filename=%s" % ( filename) + print(content_type) response['Content-Type'] = content_type response['X-Accel-Redirect'] = url if not buffering: response['X-Accel-Buffering'] = 'no' #response['X-Accel-Limit-Rate'] = 524288 - + #print(url) return response -- 2.39.5