26 lines
938 B
Python
26 lines
938 B
Python
"""Assemble the client API and retain its existing documentation URLs."""
|
|
|
|
import os
|
|
|
|
from fastapi import FastAPI
|
|
from fastapi.responses import RedirectResponse
|
|
from fastapi.staticfiles import StaticFiles
|
|
|
|
from s2s_client.api.router import router
|
|
from s2s_client.core import config, diagnostics # noqa: F401 - retain the startup banner
|
|
|
|
app = FastAPI(title="s2s-demo")
|
|
app.include_router(router)
|
|
|
|
|
|
@app.get("/project", include_in_schema=False)
|
|
@app.get("/project/", include_in_schema=False)
|
|
@app.get("/project/index.html", include_in_schema=False)
|
|
@app.get("/public/docs.html", include_in_schema=False)
|
|
async def project_documentation() -> RedirectResponse:
|
|
return RedirectResponse("/docs/proposals/vocero-architecture.html", status_code=307)
|
|
|
|
|
|
# The existing FastAPI /docs page remains registered ahead of this mount.
|
|
app.mount("/docs", StaticFiles(directory=os.path.join(config.ROOT_DIR, "docs"), html=True), name="documentation")
|