1
0
mirror of https://github.com/spl0k/supysonic.git synced 2024-11-14 22:22:18 +00:00

fix nginx x-accel-redirect/x-sendfile with unicode path names

This commit is contained in:
Emory P 2013-12-09 02:18:02 -05:00
parent 9210b381b8
commit e2509da1ba

View File

@ -40,6 +40,17 @@ def transcode(process):
@app.route('/rest/stream.view', methods = [ 'GET', 'POST' ]) @app.route('/rest/stream.view', methods = [ 'GET', 'POST' ])
def stream_media(): def stream_media():
@after_this_request
def add_header(response):
if 'X-Sendfile' in response.headers:
xsendfile = response.headers['X-Sendfile'] or ''
redirect = config.get('base', 'accel-redirect')
if redirect and xsendfile:
response.headers['X-Accel-Charset'] = 'utf-8'
response.headers['X-Accel-Redirect'] = redirect + xsendfile.encode('UTF8')
app.logger.debug('X-Accel-Redirect: ' + redirect + xsendfile.encode('UTF8'))
return response
status, res = get_entity(request, Track) status, res = get_entity(request, Track)
if not status: if not status:
@ -125,10 +136,6 @@ def stream_media():
response.headers['Content-Type'] = dst_mimetype response.headers['Content-Type'] = dst_mimetype
response.headers['Accept-Ranges'] = 'bytes' response.headers['Accept-Ranges'] = 'bytes'
response.headers['X-Content-Duration'] = str(duration) response.headers['X-Content-Duration'] = str(duration)
redirect = config.get('base', 'accel-redirect')
if(redirect):
response.headers['X-Accel-Redirect'] = redirect + res.path
app.logger.debug('X-Accel-Redirect: ' + response.headers['X-Accel-Redirect'])
res.play_count = res.play_count + 1 res.play_count = res.play_count + 1
res.last_play = now() res.last_play = now()