Bypass mount redirect for /admin with relative redirect
This commit is contained in:
@@ -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}",
|
||||
|
||||
Reference in New Issue
Block a user