INNER CODE UNIT · Python
IsolatedSimpleHTTPRequestHandler
satoshikawato/gbdraw · gbdraw/cli.py:34
class IsolatedSimpleHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
"""Serve the browser UI with the headers required for SharedArrayBuffer."""
def end_headers(self) -> None:
self.send_header("Cross-Origin-Opener-Policy", "same-origin")
self.send_header("Cross-Origin-Embedder-Policy", "require-corp")
self.send_header("Cross-Origin-Resource-Policy", "same-origin")
self.send_header("Content-Security-Policy", "frame-ancestors 'none'")
super().end_headers()
def print_version() -> None:
print(f"gbdraw version {__version_display__}")
def find_free_port():
"""Find a free port on localhost"""
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind(('127.0.0.1', 0))