Hand out the right content-type for .mjs files

This commit is contained in:
Neale Pickett 2020-02-27 18:10:09 -07:00
parent bdfbe527de
commit 3d0e73d0e9
1 changed files with 4 additions and 5 deletions

View File

@ -7,7 +7,6 @@ import cgi
import http.server
import io
import json
import mimetypes
import moth
import logging
import os
@ -43,7 +42,6 @@ class MothRequestHandler(http.server.SimpleHTTPRequestHandler):
except TypeError:
super().__init__(request, client_address, server)
# Backport from Python 3.7
def translate_path(self, path):
# I guess we just hope that some other thread doesn't call getcwd
@ -160,7 +158,7 @@ class MothRequestHandler(http.server.SimpleHTTPRequestHandler):
return
self.send_response(200)
self.send_header("Content-Type", mimetypes.guess_type(file.name))
self.send_header("Content-Type", self.guess_type(file.name))
self.end_headers()
shutil.copyfileobj(file.stream, self.wfile)
endpoints.append(("/{seed}/content/{cat}/{points}/{filename}", handle_puzzlefile))
@ -194,7 +192,7 @@ class MothRequestHandler(http.server.SimpleHTTPRequestHandler):
self.send_header("Content-Type", "text/html")
self.end_headers()
self.wfile.write("Your browser was supposed to redirect you to <a href=\"%s/\">here</a>." % seed)
endpoints.append((r"/", handle_index))
endpoints.append(("/", handle_index))
def handle_theme_file(self):
@ -235,6 +233,7 @@ class MothRequestHandler(http.server.SimpleHTTPRequestHandler):
HTTPStatus.NOT_IMPLEMENTED,
"Unsupported method (%r)" % self.command,
)
MothRequestHandler.extensions_map[".mjs"] = "application/ecmascript"
if __name__ == '__main__':
@ -279,6 +278,6 @@ if __name__ == '__main__':
server.args["base_url"] = args.base
server.args["puzzles_dir"] = pathlib.Path(args.puzzles)
server.args["theme_dir"] = args.theme
logging.info("Listening on %s:%d", addr, port)
server.serve_forever()