(
request: Request,
current_ai_studio_model_id: str = Depends(get_current_ai_studio_model_id),
)
| 7 | |
| 8 | |
| 9 | async def get_api_info( |
| 10 | request: Request, |
| 11 | current_ai_studio_model_id: str = Depends(get_current_ai_studio_model_id), |
| 12 | ) -> JSONResponse: |
| 13 | from .. import auth_utils |
| 14 | |
| 15 | server_port = request.url.port or get_environment_variable( |
| 16 | "SERVER_PORT_INFO", "8000" |
| 17 | ) |
| 18 | host = request.headers.get("host") or f"127.0.0.1:{server_port}" |
| 19 | scheme = request.headers.get("x-forwarded-proto") or request.url.scheme or "http" |
| 20 | base_url = f"{scheme}://{host}" |
| 21 | api_base = f"{base_url}/v1" |
| 22 | effective_model_name = current_ai_studio_model_id or MODEL_NAME |
| 23 | |
| 24 | api_key_required = bool(auth_utils.API_KEYS) |
| 25 | api_key_count = len(auth_utils.API_KEYS) |
| 26 | |
| 27 | message = ( |
| 28 | f"API Key is required. {api_key_count} valid key(s) configured." |
| 29 | if api_key_required |
| 30 | else "API Key is not required." |
| 31 | ) |
| 32 | |
| 33 | return JSONResponse( |
| 34 | content={ |
| 35 | "model_name": effective_model_name, |
| 36 | "api_base_url": api_base, |
| 37 | "server_base_url": base_url, |
| 38 | "api_key_required": api_key_required, |
| 39 | "api_key_count": api_key_count, |
| 40 | "auth_header": "Authorization: Bearer <token> or X-API-Key: <token>" |
| 41 | if api_key_required |
| 42 | else None, |
| 43 | "openai_compatible": True, |
| 44 | "supported_auth_methods": ["Authorization: Bearer", "X-API-Key"] |
| 45 | if api_key_required |
| 46 | else [], |
| 47 | "message": message, |
| 48 | } |
| 49 | ) |
nothing calls this directly
no test coverage detected