ser2http4mt.py: Improve error and response handling

This commit is contained in:
Dominic Höglinger 2025-10-25 06:55:14 +02:00
parent c9dcbff5fa
commit 2f882af7b3

View File

@ -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)
try:
pkt = self.queue.get()
b = pkt.SerializeToString()
try:
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}")