diff --git a/src/tracer/runtime/serve.py b/src/tracer/runtime/serve.py index 7e0bfdb..9758824 100644 --- a/src/tracer/runtime/serve.py +++ b/src/tracer/runtime/serve.py @@ -94,12 +94,15 @@ def _read_body(self) -> dict: def _json_response(self, code: int, data: dict): body = json.dumps(data, default=str).encode("utf-8") - self.send_response(code) - self.send_header("Content-Type", "application/json") - self.send_header("Content-Length", str(len(body))) - self.send_header("Access-Control-Allow-Origin", "*") - self.end_headers() - self.wfile.write(body) + try: + self.send_response(code) + self.send_header("Content-Type", "application/json") + self.send_header("Content-Length", str(len(body))) + self.send_header("Access-Control-Allow-Origin", "*") + self.end_headers() + self.wfile.write(body) + except (BrokenPipeError, ConnectionResetError): + pass # client disconnected def log_message(self, fmt, *args): # Quiet logging - only errors