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

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

class H(http.server.SimpleHTTPRequestHandler):
    def end_headers(self):
        # WebGPU on Linux currently sits behind an origin trial / flag; no
        # special headers are required for localhost when --enable-unsafe-webgpu
        # is passed, but send COOP/COEP anyway for good measure.
        self.send_header('Cross-Origin-Opener-Policy', 'same-origin')
        self.send_header('Cross-Origin-Embedder-Policy', 'require-corp')
        super().end_headers()

socketserver.TCPServer.allow_reuse_address = True
with socketserver.TCPServer(('127.0.0.1', PORT), H) as httpd:
    print(f'serving on http://127.0.0.1:{PORT}/poc.html', flush=True)
    httpd.serve_forever()
