ofoqerp / request_dump.py
OfoqERP Deploy
feat: add request dumper and overhaul entrypoint
f22bba5
Raw
History Blame Contribute Delete
1.3 kB
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()