from http.server import HTTPServer, SimpleHTTPRequestHandler
import json, os

class Handler(SimpleHTTPRequestHandler):
    def do_POST(self):
        if self.path == '/cgi-bin/save.cgi':
            length = int(self.headers.get('Content-Length', 0))
            body = self.rfile.read(length)
            try:
                data = json.loads(body)
            except json.JSONDecodeError:
                self.send_response(400)
                self.send_header('Content-Type', 'text/plain')
                self.end_headers()
                self.wfile.write(b'Invalid JSON')
                return

            file_path = os.path.join(os.path.dirname(__file__), 'content.json')
            print(f"Writing to: {file_path}")  # <-- add this
            with open(file_path, 'w', encoding='utf-8') as f:
                json.dump(data, f, ensure_ascii=False, indent=4)

            self.send_response(200)
            self.send_header('Content-Type', 'text/plain')
            self.end_headers()
            self.wfile.write(b'OK')
        else:
            self.send_response(404)
            self.end_headers()

if __name__ == '__main__':
    server = HTTPServer(('0.0.0.0', 8080), Handler)
    print('Serving on http://0.0.0.0:8080')
    server.serve_forever()
    