16 lines
559 B
Python
16 lines
559 B
Python
#!/usr/bin/env python3
|
|
"""HTTPS fixture server, with request log for forbidden-origin assertions."""
|
|
import functools
|
|
import http.server
|
|
import ssl
|
|
import sys
|
|
|
|
root, port, cert, key = sys.argv[1:]
|
|
handler = functools.partial(http.server.SimpleHTTPRequestHandler, directory=root)
|
|
server = http.server.ThreadingHTTPServer(('127.0.0.1', int(port)), handler)
|
|
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
|
|
context.load_cert_chain(cert, key)
|
|
server.socket = context.wrap_socket(server.socket, server_side=True)
|
|
print('ready', flush=True)
|
|
server.serve_forever()
|