From cf0d987b787efe50656e37207dbcb2cecde3ba1c Mon Sep 17 00:00:00 2001 From: jaknapper Date: Wed, 2 Jul 2025 15:41:19 +0100 Subject: [PATCH 1/5] Nicer formatting of fallback, returns 206 (partial) instead of 500 --- src/labthings_fastapi/server/fallback.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/labthings_fastapi/server/fallback.py b/src/labthings_fastapi/server/fallback.py index 41de9cb0..02523e9c 100644 --- a/src/labthings_fastapi/server/fallback.py +++ b/src/labthings_fastapi/server/fallback.py @@ -38,13 +38,18 @@ def __init__(self, *args, **kwargs):
{{traceback}}
{{logginginfo}} + """ From 5387c974cc4a942bc195620a8289ebcf7b90206f Mon Sep 17 00:00:00 2001 From: jaknapper Date: Wed, 2 Jul 2025 15:51:41 +0100 Subject: [PATCH 3/5] Switch fallback status code to 218 --- src/labthings_fastapi/server/fallback.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/labthings_fastapi/server/fallback.py b/src/labthings_fastapi/server/fallback.py index b0fe2277..d4fead61 100644 --- a/src/labthings_fastapi/server/fallback.py +++ b/src/labthings_fastapi/server/fallback.py @@ -71,7 +71,7 @@ async def root(): logging_info = f"

Logging info

\n
{app.log_history}
" content = content.replace("{{logginginfo}}", logging_info) - return HTMLResponse(content=content, status_code=206) + return HTMLResponse(content=content, status_code=218) @app.get("/{path:path}") From bbb1f7126618b7f1f2f75ae76bd1a1a84f6bc9cf Mon Sep 17 00:00:00 2001 From: Julian Stirling Date: Sun, 6 Jul 2025 09:25:33 +0100 Subject: [PATCH 4/5] Add attribute to fallback server for setting HTML code --- src/labthings_fastapi/server/fallback.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/labthings_fastapi/server/fallback.py b/src/labthings_fastapi/server/fallback.py index d4fead61..5b7a7ab7 100644 --- a/src/labthings_fastapi/server/fallback.py +++ b/src/labthings_fastapi/server/fallback.py @@ -12,6 +12,7 @@ def __init__(self, *args, **kwargs): self.labthings_server = None self.labthings_error = None self.log_history = None + self.html_code = 500 app = FallbackApp() @@ -71,7 +72,7 @@ async def root(): logging_info = f"

Logging info

\n
{app.log_history}
" content = content.replace("{{logginginfo}}", logging_info) - return HTMLResponse(content=content, status_code=218) + return HTMLResponse(content=content, status_code=app.html_code) @app.get("/{path:path}") From c0a3eb6ec1b87b1dfb0669a1d5832f0fc9c3f815 Mon Sep 17 00:00:00 2001 From: Julian Stirling Date: Sun, 6 Jul 2025 10:01:30 +0100 Subject: [PATCH 5/5] Move HTML style to the page head --- src/labthings_fastapi/server/fallback.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/labthings_fastapi/server/fallback.py b/src/labthings_fastapi/server/fallback.py index 5b7a7ab7..1b436aab 100644 --- a/src/labthings_fastapi/server/fallback.py +++ b/src/labthings_fastapi/server/fallback.py @@ -20,8 +20,14 @@ def __init__(self, *args, **kwargs): ERROR_PAGE = """ - + LabThings +

LabThings Could't Load

@@ -39,12 +45,6 @@ def __init__(self, *args, **kwargs):
{{traceback}}
{{logginginfo}} - """