Bypass mount redirect for /admin with relative redirect

This commit is contained in:
dwindown
2026-04-01 20:18:16 +07:00
parent d738d90cef
commit 3023d8aa57

View File

@@ -15,6 +15,8 @@ from typing import AsyncGenerator
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from starlette.responses import RedirectResponse
from starlette.status import HTTP_303_SEE_OTHER
from app.core.config import get_settings
from app.database import close_db, init_db
@@ -177,6 +179,12 @@ app.include_router(
if settings.ENABLE_ADMIN:
from app.admin import admin as admin_app
@app.get("/admin", include_in_schema=False)
async def admin_entrypoint():
# Avoid Starlette mount slash-normalization redirect, which can emit an
# absolute URL based on proxy headers such as https://127.0.0.1/admin/.
return RedirectResponse(url="/admin/", status_code=HTTP_303_SEE_OTHER)
app.include_router(
ai_router,
prefix=f"{settings.API_V1_STR}",