Spaces:
Running
Running
| 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() | |