"""Writes the body of each POST to src/web/src/domain/toonFits.json, for the sweep on compare.html to save the record after every piece."""
import json
from http.server import BaseHTTPRequestHandler, HTTPServer
from pathlib import Path

TARGET = Path(__file__).resolve().parents[1] / "src/web/src/domain/toonFits.json"


class Writer(BaseHTTPRequestHandler):
    def do_OPTIONS(self):
        self.send_response(204)
        self.send_header("Access-Control-Allow-Origin", "*")
        self.send_header("Access-Control-Allow-Methods", "POST")
        self.send_header("Access-Control-Allow-Headers", "content-type")
        self.end_headers()

    def do_POST(self):
        fits = json.loads(self.rfile.read(int(self.headers["content-length"])))
        TARGET.write_text(json.dumps(fits, indent=4) + "\n")
        self.send_response(204)
        self.send_header("Access-Control-Allow-Origin", "*")
        self.end_headers()

    def log_message(self, *args):
        pass


HTTPServer(("127.0.0.1", 8433), Writer).serve_forever()
