Merge branch 'develop' into 'develop'

Adapt Headers for serving audio files

See merge request funkwhale/funkwhale!154
merge-requests/165/head
Eliot Berriot 2018-04-22 13:19:27 +00:00
commit 5f6b1ae6e5
2 zmienionych plików z 10 dodań i 1 usunięć

Wyświetl plik

@ -390,6 +390,12 @@ REST_FRAMEWORK = {
ATOMIC_REQUESTS = False
USE_X_FORWARDED_HOST = True
USE_X_FORWARDED_PORT = True
# Wether we should use Apache, Nginx (or other) headers when serving audio files
# Default to Nginx
REVERSE_PROXY_TYPE = env('REVERSE_PROXY_TYPE', default='nginx')
assert REVERSE_PROXY_TYPE in ['apache2', 'nginx'], 'Unsupported REVERSE_PROXY_TYPE'
# Wether we should check user permission before serving audio files (meaning
# return an obfuscated url)
# This require a special configuration on the reverse proxy side

Wyświetl plik

@ -238,7 +238,10 @@ class TrackFileViewSet(viewsets.ReadOnlyModelViewSet):
f.serve_from_source_path)
response = Response()
filename = f.filename
response['X-Accel-Redirect'] = file_path
if settings.REVERSE_PROXY_TYPE == 'apache2':
response['X-Sendfile'] = file_path
elif settings.REVERSE_PROXY_TYPE == 'nginx':
response['X-Accel-Redirect'] = file_path
filename = "filename*=UTF-8''{}".format(
urllib.parse.quote(filename))
response["Content-Disposition"] = "attachment; {}".format(filename)