# Minimal HTTPS server using Python 3's http.server with ssl.wrap_socket
import http.server, ssl, argparse, sys
parser = argparse.ArgumentParser()
parser.add_argument('--cert', required=True)
parser.add_argument('--key', required=True)
parser.add_argument('--port', type=int, default=8443)
args = parser.parse_args()
class SimpleHandler(http.server.SimpleHTTPRequestHandler):
    def do_POST(self):
        length = int(self.headers.get('Content-Length', 0))
        body = self.rfile.read(length).decode('utf-8', errors='ignore')
        print(f"Received POST: {self.path} -> {body}")
        self.send_response(200)
        self.end_headers()
        self.wfile.write(b"OK")
httpd = http.server.HTTPServer(('0.0.0.0', args.port), SimpleHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, certfile=args.cert, keyfile=args.key, server_side=True)
print(f"HTTPS server running on port {args.port}")
try:
    httpd.serve_forever()
except KeyboardInterrupt:
    pass
