#!/usr/bin/env python3
"""Static file server with COOP/COEP headers for Godot 4 HTML5 exports."""
import http.server
import sys
import os

PORT = int(sys.argv[1]) if len(sys.argv) > 1 else 8000
DIRECTORY = sys.argv[2] if len(sys.argv) > 2 else "."


class Handler(http.server.SimpleHTTPRequestHandler):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, directory=DIRECTORY, **kwargs)

    def end_headers(self):
        self.send_header("Cross-Origin-Opener-Policy", "same-origin")
        self.send_header("Cross-Origin-Embedder-Policy", "require-corp")
        super().end_headers()

    def log_message(self, fmt, *args):
        pass  # suppress request noise


if __name__ == "__main__":
    os.chdir(DIRECTORY)
    with http.server.HTTPServer(("", PORT), Handler) as httpd:
        print(f"Serving {os.path.abspath(DIRECTORY)} on http://localhost:{PORT}")
        httpd.serve_forever()
