#!/usr/bin/env python3
from http.server import HTTPServer, SimpleHTTPRequestHandler, test
import sys

class CORSRequestHandler (SimpleHTTPRequestHandler):
    def end_headers (self):
# In experiments, I had these headers too, but ultimately discovered they are
# not needed, at least not for the audio worklets code I'm testing...
#        self.send_header('Access-Control-Allow-Origin', '*')
#        self.send_header('Accept-Ranges', 'bytes')
#        self.send_header('Cross-Origin-Resource-Policy', 'same-site')
# However, only this one is actually required:
        self.send_header('Cross-Origin-Embedder-Policy', 'require-corp')
        self.send_header('Cross-Origin-Opener-Policy', 'same-origin')
        SimpleHTTPRequestHandler.end_headers(self)

if __name__ == '__main__':
    test(CORSRequestHandler, HTTPServer, \
         port=int(sys.argv[1]) if len(sys.argv) > 1 else 8000)
