Added charset handling on AuthenticatedFileHandler

Anastasis Germanidis 9 years ago
parent a82a510199
commit 539c2f7521

@ -5,6 +5,7 @@
import functools
import json
import mimetypes
import os
import re
import sys
@ -481,6 +482,17 @@ class AuthenticatedFileHandler(IPythonHandler, web.StaticFileHandler):
return web.StaticFileHandler.get(self, path)
def get_content_type(self):
_, name = self.absolute_path.rsplit('/', 1)
if name.endswith('.ipynb'):
return 'application/x-ipynb+json'
else:
cur_mime = mimetypes.guess_type(name)[0]
if cur_mime == 'text/plain':
return 'text/plain; charset=UTF-8'
else:
return super(AuthenticatedFileHandler, self).get_content_type()
def set_headers(self):
super(AuthenticatedFileHandler, self).set_headers()
# disable browser caching, rely on 304 replies for savings

@ -95,7 +95,7 @@ class FilesTest(NotebookTestBase):
r = self.request('GET', 'files/test.txt')
self.assertEqual(r.status_code, 200)
self.assertEqual('text/plain', r.headers['content-type'])
self.assertEqual(r.headers['content-type'], 'text/plain; charset=UTF-8')
self.assertEqual(r.text, 'foobar')
def test_download(self):

Loading…
Cancel
Save