|
1 | | -from fastapi import APIRouter |
| 1 | +from fastapi import APIRouter, Request, Depends |
2 | 2 | from api.routes.system import router as system_router |
3 | 3 | from api.routes.auth import router as auth_router |
4 | 4 | from api.v1.router import router as v1_router |
| 5 | +from core.logging import get_module_logger |
5 | 6 |
|
| 7 | +logger = get_module_logger() |
6 | 8 | api_router = APIRouter() |
| 9 | + |
| 10 | + |
| 11 | +def log_legacy_calls(request: Request): |
| 12 | + """ |
| 13 | + Log a warning message indicating that the legacy API is being used. |
| 14 | + This function is intended to be called when the legacy API is accessed. |
| 15 | + """ |
| 16 | + logger.warning( |
| 17 | + "legacy_api_endpoint_accessed", |
| 18 | + path=request.url.path, |
| 19 | + method=request.method, |
| 20 | + query_params=str(request.query_params), |
| 21 | + ip_address=request.client.host if request.client else "unknown", |
| 22 | + user_agent=request.headers.get("user-agent"), |
| 23 | + referer=request.headers.get("referer"), |
| 24 | + x_forwarded_for=request.headers.get("x-forwarded-for"), |
| 25 | + authorization_present=bool(request.headers.get("authorization")), |
| 26 | + ) |
| 27 | + |
| 28 | + |
7 | 29 | api_router.include_router(system_router) |
8 | 30 | api_router.include_router(auth_router) |
9 | | -api_router.include_router(v1_router) |
| 31 | +api_router.include_router(v1_router, dependencies=[Depends(log_legacy_calls)]) |
| 32 | +api_router.include_router(v1_router, prefix="/api/v1") |
0 commit comments