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", | |
) | |