""" Example custom auth function. This will allow all keys starting with "my-custom-key" to pass through. """ from typing import Union from fastapi import Request from litellm.proxy._types import ProxyException, UserAPIKeyAuth async def user_api_key_auth( request: Request, api_key: str ) -> Union[UserAPIKeyAuth, str]: try: if api_key.startswith("my-custom-key"): return "sk-P1zJMdsqCPNN54alZd_ETw" if api_key == "invalid-api-key": # raise a custom exception back to the client raise ProxyException( message="Invalid API key", type="invalid_request_error", param="api_key", code=401, ) else: raise Exception("Invalid API key") except Exception: raise Exception("Invalid API key")