From 85ae1fe8ebb42a9b86f2e0dbd596bc71cfec2c5e Mon Sep 17 00:00:00 2001 From: John Lancaster <32917998+jsl12@users.noreply.github.com> Date: Thu, 18 Jun 2026 21:24:01 -0500 Subject: [PATCH] redirects --- src/personal_mcp/web/docs_mount.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/personal_mcp/web/docs_mount.py b/src/personal_mcp/web/docs_mount.py index e09bcfc..754f4a4 100644 --- a/src/personal_mcp/web/docs_mount.py +++ b/src/personal_mcp/web/docs_mount.py @@ -1,12 +1,24 @@ from pathlib import Path from fastapi import FastAPI, Response, status +from fastapi.responses import RedirectResponse from fastapi.staticfiles import StaticFiles def mount_docs_static(app: FastAPI, *, docs_route: str, site_dir: Path) -> None: """Mount the pre-built static docs site, or expose a clear missing-build response.""" normalized_route = docs_route.rstrip("/") or "/docs" + docs_root = f"{normalized_route}/" + + async def redirect_to_docs_root() -> RedirectResponse: + return RedirectResponse(url=docs_root, status_code=status.HTTP_307_TEMPORARY_REDIRECT) + + app.add_api_route( + normalized_route, + redirect_to_docs_root, + methods=["GET", "HEAD"], + include_in_schema=False, + ) if site_dir.is_dir(): app.mount(