From e5558ebc45698374801bb0d02906e57a582d29a8 Mon Sep 17 00:00:00 2001 From: jizhongsheng Date: Fri, 18 Feb 2022 16:37:50 +0800 Subject: [PATCH] Fix FilesHandler not meet RFC 6713 --- jupyter_server/files/handlers.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/jupyter_server/files/handlers.py b/jupyter_server/files/handlers.py index 2eab425aeb..2b53145979 100644 --- a/jupyter_server/files/handlers.py +++ b/jupyter_server/files/handlers.py @@ -11,7 +11,6 @@ from jupyter_server.base.handlers import JupyterHandler from jupyter_server.utils import ensure_async - AUTH_RESOURCE = "contents" @@ -65,9 +64,14 @@ async def get(self, path, include_body=True): if name.lower().endswith(".ipynb"): self.set_header("Content-Type", "application/x-ipynb+json") else: - cur_mime = mimetypes.guess_type(name)[0] + cur_mime, encoding = mimetypes.guess_type(name) if cur_mime == "text/plain": self.set_header("Content-Type", "text/plain; charset=UTF-8") + # RFC 6713 + if encoding == "gzip": + self.set_header("Content-Type", "application/gzip") + elif encoding is not None: + self.set_header("Content-Type", "application/octet-stream") elif cur_mime is not None: self.set_header("Content-Type", cur_mime) else: