Add 404 handler and template

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
giles
2026-01-11 13:14:29 +00:00
parent e7e95b7857
commit ada51c0880
2 changed files with 27 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ Creates and configures the FastAPI application with all routers and middleware.
from pathlib import Path
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
from fastapi.staticfiles import StaticFiles
from artdag_common import create_jinja_env
@@ -41,6 +42,18 @@ def create_app() -> FastAPI:
template_dir = Path(__file__).parent / "templates"
app.state.templates = create_jinja_env(template_dir)
# Custom 404 handler
@app.exception_handler(404)
async def not_found_handler(request: Request, exc):
from artdag_common.middleware import wants_html
if wants_html(request):
from artdag_common import render
return render(app.state.templates, "404.html", request,
user=None,
status_code=404,
)
return JSONResponse({"detail": "Not found"}, status_code=404)
# Include routers
from .routers import auth, storage, api, recipes, cache, runs, home