import http from typing import Optional from fastapi import HTTPException, status class HfApiException(Exception): def __init__( self, status_code: int, detail: Optional[str] = None, ) -> None: if detail is None: self.detail = http.HTTPStatus(status_code).phrase else: self.detail = detail self.status_code = status_code def __repr__(self) -> str: class_name = self.__class__.__name__ return f"{class_name}(status_code={self.status_code!r}, detail={self.detail!r})" def __str__(self) -> str: return self.__repr__() INVALID_API_KEY_ERROR = HfApiException( status_code=status.HTTP_403_FORBIDDEN, detail="Invalid API Key", )