#!/usr/bin/env python3
"""
HTTP server for POC (SkSL privilege bypass).
Serves poc.html on http://localhost:PORT/poc.html

Note: The Chrome-level POC also works with file:// URLs (no server needed):
    chrome ... "file:///poc-artifacts/poc.html"
This server is provided for completeness.

Usage: python3 server.py [PORT]   (default 8080)
"""
import http.server
import socketserver
import os
import sys

PORT = int(sys.argv[1]) if len(sys.argv) > 1 else 8080
DIRECTORY = os.path.dirname(os.path.abspath(__file__))

class Handler(http.server.SimpleHTTPRequestHandler):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, directory=DIRECTORY, **kwargs)

    def log_message(self, fmt, *args):
        sys.stderr.write("[server] %s\n" % (fmt % args))

if __name__ == "__main__":
    socketserver.TCPServer.allow_reuse_address = True
    with socketserver.TCPServer(("127.0.0.1", PORT), Handler) as httpd:
        sys.stderr.write(f"[server] Serving {DIRECTORY} on http://127.0.0.1:{PORT}/\n")
        sys.stderr.write(f"[server] POC URL: http://127.0.0.1:{PORT}/poc.html\n")
        httpd.serve_forever()
