]> git.parisson.com Git - teleforma.git/commitdiff
fix S3 file server thhough nginx accel redirect
authorGuillaume Pellerin <guillaume.pellerin@parisson.com>
Wed, 24 Apr 2024 12:01:26 +0000 (14:01 +0200)
committerGuillaume Pellerin <guillaume.pellerin@parisson.com>
Wed, 24 Apr 2024 12:02:01 +0000 (14:02 +0200)
app/settings.py
teleforma/views/core.py

index 078ffafa9f7ba433d7b2575d96585c35b88be1af..0b087050950be0c47df05a171bf643304ccb9063 100644 (file)
@@ -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=""
index e261d81333666177f75f34b09c24e43905e8f27e..b2b013311510cbb1b72e6dc784c781ac07004dce 100644 (file)
@@ -280,12 +280,16 @@ def render_to_pdf(request, template, context, filename=None, encoding='utf-8',
     return HttpResponse('Errors rendering pdf:<pre>%s</pre>' % 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