kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
Merge branch 'develop' into 'develop'
Adapt Headers for serving audio files See merge request funkwhale/funkwhale!154merge-requests/165/head
commit
5f6b1ae6e5
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Ładowanie…
Reference in New Issue