diff options
Diffstat (limited to 'service/pixelated/controllers')
-rw-r--r-- | service/pixelated/controllers/attachments_controller.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/service/pixelated/controllers/attachments_controller.py b/service/pixelated/controllers/attachments_controller.py index 68e73bd6..1d5360f7 100644 --- a/service/pixelated/controllers/attachments_controller.py +++ b/service/pixelated/controllers/attachments_controller.py @@ -19,6 +19,7 @@ from flask import request import io import re +from twisted.web.server import NOT_DONE_YET class AttachmentsController: @@ -29,9 +30,10 @@ class AttachmentsController: def attachment(self, request, attachment_id): encoding = request.args.get('encoding', [''])[0] attachment = self.querier.attachment(attachment_id, encoding) - response = send_file(io.BytesIO(attachment['content']), - mimetype=self._extract_mimetype(attachment['content-type'])) - return response + request.setRawHeader('Content-Type', self._extract_mimetype(attachment['content-type'])) + request.write(io.BytesIO(attachment['content'])) + + return NOT_DONE_YET def _extract_mimetype(self, content_type): match = re.compile('([A-Za-z-]+\/[A-Za-z-]+)').search(content_type) |