diff --git a/serve.py b/serve.py index 317827d..2e70a09 100755 --- a/serve.py +++ b/serve.py @@ -218,9 +218,16 @@ class Handler(http.server.SimpleHTTPRequestHandler): super().end_headers() def log_message(self, fmt, *args): - first = args[0] if args else "" + # args[0] ist normalerweise die Anfragezeile, bei send_error aber ein + # HTTPStatus. Ohne str() flog hier ein TypeError, der den Handler-Thread + # abbrach: der Browser wartete dann ewig auf eine Antwort, die nie kam, + # und die Seite blieb bei "Lade Screens ..." stehen. + first = str(args[0]) if args else "" if "POST /save" in first or "DELETE" in first: super().log_message(fmt, *args) + elif not first.startswith(("GET", "POST", "HEAD")): + # Fehler und Warnungen gehoeren gesehen, sonst sucht man lange. + super().log_message(fmt, *args) class Server(socketserver.ThreadingTCPServer):