bpo-40280: Add limited Emscripten REPL (GH-32284)

Co-authored-by: Katie Bell <katie@katharos.id.au>
This commit is contained in:
Christian Heimes 2022-04-05 12:21:11 +03:00 committed by GitHub
parent faa12088c1
commit 96e09837fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 428 additions and 19 deletions

39
Tools/wasm/wasm_webserver.py Executable file
View file

@ -0,0 +1,39 @@
#!/usr/bin/env python
import argparse
from http import server
parser = argparse.ArgumentParser(
description="Start a local webserver with a Python terminal."
)
parser.add_argument(
"--port", type=int, default=8000, help="port for the http server to listen on"
)
parser.add_argument(
"--bind", type=str, default="127.0.0.1", help="Bind address (empty for all)"
)
class MyHTTPRequestHandler(server.SimpleHTTPRequestHandler):
def end_headers(self):
self.send_my_headers()
super().end_headers()
def send_my_headers(self):
self.send_header("Cross-Origin-Opener-Policy", "same-origin")
self.send_header("Cross-Origin-Embedder-Policy", "require-corp")
def main():
args = parser.parse_args()
if not args.bind:
args.bind = None
server.test(
HandlerClass=MyHTTPRequestHandler,
protocol="HTTP/1.1",
port=args.port,
bind=args.bind,
)
if __name__ == "__main__":
main()