"""Static sandbox web server with extensionless brief URLs."""

from __future__ import annotations

import os
from http.server import SimpleHTTPRequestHandler, ThreadingHTTPServer
from pathlib import Path


ROOT = Path(__file__).resolve().parents[1]


class BriefHandler(SimpleHTTPRequestHandler):
    def translate_path(self, path: str) -> str:
        resolved = Path(super().translate_path(path))
        if path.startswith("/brief/") and not resolved.suffix and not resolved.exists():
            html_path = resolved.with_suffix(".html")
            if html_path.is_file():
                return str(html_path)
        return str(resolved)


def main() -> None:
    os.chdir(ROOT)
    server = ThreadingHTTPServer(("127.0.0.1", 8085), BriefHandler)
    print("sandbox web server ready on 127.0.0.1:8085", flush=True)
    server.serve_forever()


if __name__ == "__main__":
    main()
