Stability tweaks

- More logging
- elif to avoid a spurious 400
- Let folks recover from a task that's already complete: so what, says I?
This commit is contained in:
John Doty 2024-10-03 07:21:57 -07:00
parent daf015bde1
commit 522ec7144c

View file

@ -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;
});
</script>
</body>
@ -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