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}")