From 522ec7144c63e06ecb5d860dc63796a3117aa768 Mon Sep 17 00:00:00 2001 From: John Doty Date: Thu, 3 Oct 2024 07:21:57 -0700 Subject: [PATCH] Stability tweaks - More logging - elif to avoid a spurious 400 - Let folks recover from a task that's already complete: so what, says I? --- cry/web.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cry/web.py b/cry/web.py index 420f8c0..c2f265b 100644 --- a/cry/web.py +++ b/cry/web.py @@ -354,17 +354,18 @@ class Handler(http.server.BaseHTTPRequestHandler): self.send_error(404) def do_POST(self): - print(f"{self.path}") if self.path == "/refresh": self.do_refresh() - if self.path == "/subscribe": + elif self.path == "/subscribe": self.do_subscribe() else: + self.log_error(f"Bad POST: {repr(self.path)}") self.send_error(400) def do_refresh(self): global REFRESH_TASK if REFRESH_TASK is None or REFRESH_TASK.closed: + self.log_message("Starting new refresh task...") REFRESH_TASK = refresh_feeds() self.send_response(303) @@ -380,6 +381,7 @@ class Handler(http.server.BaseHTTPRequestHandler): url = params["url"][0] except Exception as e: tb = "\n".join(traceback.format_exception(e)) + self.log_error(f"Bad subscribe request: {tb}") self.send_error(400, explain=tb) return @@ -392,7 +394,7 @@ class Handler(http.server.BaseHTTPRequestHandler): self.end_headers() def serve_events(self, task: BackgroundTask | None): - if task is None or task.closed: + if task is None: self.send_response(204) self.end_headers() return @@ -479,7 +481,7 @@ class Handler(http.server.BaseHTTPRequestHandler): }); events.addEventListener("redirect", (e) => { console.log(e); - // window.location = e.data; + window.location = e.data; }); @@ -546,6 +548,7 @@ class Handler(http.server.BaseHTTPRequestHandler): candidates = zip(parsed["t"], parsed["u"]) except Exception as e: tb = "\n".join(traceback.format_exception(e)) + self.log_error(f"Error parsing query string for subscription: {tb}") self.send_error(400, explain=tb) return