From 2f882af7b34554f7c03f79acdd41d737c5da88bf Mon Sep 17 00:00:00 2001 From: Dominic Hoeglinger Date: Sat, 25 Oct 2025 06:55:14 +0200 Subject: [PATCH] ser2http4mt.py: Improve error and response handling --- ser2http4mt.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ser2http4mt.py b/ser2http4mt.py index e2826f7..2fcd4a6 100644 --- a/ser2http4mt.py +++ b/ser2http4mt.py @@ -108,14 +108,18 @@ class RequestHandler(BaseHTTPRequestHandler): self.send_response(200) self.send_header('Content-Type', 'application/x-protobuf') self.end_headers() - ##time.sleep(0.3) - pkt = self.queue.get() - b = pkt.SerializeToString() try: + pkt = self.queue.get() + b = pkt.SerializeToString() self.wfile.write(b) except BrokenPipeError as ex: + print(f"$ Error - Client disconnected early: {ex}") self.send_error(500, str(ex)) except OSError as ex: + print(f"$ Error - Client disconnected early: {ex}") + self.send_error(500, str(ex)) + except Exception as ex: + print(f"$ Error: {ex}") self.send_error(500, str(ex)) return "" @@ -127,6 +131,8 @@ class RequestHandler(BaseHTTPRequestHandler): try: clen = int(self.headers['Content-Length']) protobuf_writer(ser, self.rfile.read(clen)) + self.send_response(200) + self.end_headers() return "" except Exception as ex: print(f"$ Error: {ex}")