"""Serve the DevTools MCP practice page on loopback only."""
import argparse
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
from pathlib import Path


class FixtureHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        if self.path == "/":
            status, content_type = 200, "text/html; charset=utf-8"
            body = Path(__file__).with_name("fixture.html").read_bytes()
        elif self.path == "/api/records":
            status, content_type = 200, "application/json"
            body = b'{"marker":"F02-FIXED"}'
        else:
            status, content_type = 404, "text/plain; charset=utf-8"
            body = b"Not found"

        self.send_response(status)
        self.send_header("Content-Type", content_type)
        self.send_header("Cache-Control", "no-store")
        self.end_headers()
        self.wfile.write(body)


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--port", type=int, default=8765)
    args = parser.parse_args()
    with ThreadingHTTPServer(("127.0.0.1", args.port), FixtureHandler) as server:
        print(f"http://127.0.0.1:{server.server_port}/", flush=True)
        server.serve_forever()
