Spaces:
Sleeping
Sleeping
| class APIError(Exception): | |
| """Base exception for API related errors.""" | |
| pass | |
| class APIKeyError(APIError): | |
| """Exception raised for API key related errors.""" | |
| pass | |
| class ModelError(APIError): | |
| """Exception raised for model related errors.""" | |
| pass | |
| class ProviderError(APIError): | |
| """Exception raised for provider related errors.""" | |
| pass | |
| class ValidationError(APIError): | |
| """Exception raised for input validation errors.""" | |
| pass | |
| def handle_api_error(error: APIError) -> dict: | |
| """Convert API errors to response dictionaries.""" | |
| error_types = { | |
| APIKeyError: (400, "API Key Error"), | |
| ModelError: (400, "Model Error"), | |
| ProviderError: (500, "Provider Error"), | |
| ValidationError: (400, "Validation Error"), | |
| APIError: (500, "Internal Server Error") | |
| } | |
| error_class = type(error) | |
| status_code, error_type = error_types.get(error_class, (500, "Unknown Error")) | |
| return { | |
| "status_code": status_code, | |
| "error_type": error_type, | |
| "detail": str(error) | |
| } |