Small fixes to bugs in the streaming handler for use with magic and radosgw.

This commit is contained in:
Jake Moshenko 2014-09-09 18:30:14 -04:00
parent d2d51d15a2
commit c9e1648781
4 changed files with 25 additions and 13 deletions

View file

@ -5,6 +5,8 @@ import magic
from uuid import uuid4
from flask import url_for, request, send_file, make_response, abort
from flask.views import View
from io import BufferedReader
logger = logging.getLogger(__name__)
@ -22,7 +24,9 @@ class UserfilesHandlers(View):
path = self._files.get_file_id_path(file_id)
try:
file_stream = self._storage.stream_read_file(self._locations, path)
return send_file(file_stream)
buffered = BufferedReader(file_stream)
file_header_bytes = buffered.peek(1024)
return send_file(buffered, mimetype=self._magic.from_buffer(file_header_bytes))
except IOError:
abort(404)