#!/usr/bin/env python3
import http.server
import socketserver
import os
import sys

PORT = int(sys.argv[1]) if len(sys.argv) > 1 else 8080
os.chdir(os.path.dirname(os.path.abspath(__file__)))

class Handler(http.server.SimpleHTTPRequestHandler):
    def end_headers(self):
        self.send_header("Access-Control-Allow-Origin", "*")
        self.send_header("Cache-Control", "max-age=3600")
        super().end_headers()

    def guess_type(self, path):
        if path.endswith(".css"):
            return "text/css"
        return super().guess_type(path)

    def log_message(self, fmt, *args):
        sys.stderr.write("[server:%d] %s\n" % (PORT, fmt % args))

socketserver.TCPServer.allow_reuse_address = True
with socketserver.TCPServer(("127.0.0.1", PORT), Handler) as httpd:
    sys.stderr.write("[server:%d] serving on http://127.0.0.1:%d/\n" % (PORT, PORT))
    httpd.serve_forever()
