import http.server, json, os, sys LOG_PATH = "/home/frappe/frappe-bench/sites/hisham-cmd-ofoqerp.hf.space/public/proxy_dump.log" class DumpHandler(http.server.BaseHTTPRequestHandler): def do_POST(self): length = int(self.headers.get("Content-Length", 0)) body = self.rfile.read(length) if length > 0 else b"" with open(LOG_PATH, "w") as f: f.write(f"PATH: {self.path}\n") f.write(f"METHOD: POST\n") f.write(f"HEADERS:\n") for k, v in self.headers.items(): f.write(f" {k}: {v}\n") f.write(f"BODY ({len(body)} bytes): {body.decode('utf-8', errors='replace')[:2000]}\n") self.send_response(200) self.send_header("Content-Type", "application/json") self.end_headers() self.wfile.write(b'{"status":"logged"}') def do_GET(self): self.send_response(200) self.send_header("Content-Type", "text/plain") self.end_headers() self.wfile.write(b"Request dumper running") def log_message(self, format, *args): pass # suppress stderr port = int(sys.argv[1]) if len(sys.argv) > 1 else 7890 server = http.server.HTTPServer(("0.0.0.0", port), DumpHandler) print(f"Request dumper on port {port}") server.serve_forever()