Spaces:
Paused
Paused
| from typing import Any, Optional | |
| from fastapi import Request | |
| from litellm._logging import verbose_proxy_logger | |
| from litellm.proxy._types import UserAPIKeyAuth | |
| async def enterprise_custom_auth( | |
| request: Request, api_key: str, user_custom_auth: Optional[Any] | |
| ) -> Optional[UserAPIKeyAuth]: | |
| from litellm_enterprise.proxy.proxy_server import custom_auth_settings | |
| if user_custom_auth is None: | |
| return None | |
| if custom_auth_settings is None: | |
| return await user_custom_auth(request, api_key) | |
| if custom_auth_settings["mode"] == "on": | |
| return await user_custom_auth(request, api_key) | |
| elif custom_auth_settings["mode"] == "off": | |
| return None | |
| elif custom_auth_settings["mode"] == "auto": | |
| try: | |
| return await user_custom_auth(request, api_key) | |
| except Exception as e: | |
| verbose_proxy_logger.debug( | |
| f"Error in custom auth, checking litellm auth: {e}" | |
| ) | |
| return None | |
| else: | |
| raise ValueError(f"Invalid mode: {custom_auth_settings['mode']}") | |