|
import traceback |
|
from typing import Any |
|
|
|
from loguru import logger |
|
|
|
|
|
class HttpException(Exception): |
|
def __init__( |
|
self, task_id: str, status_code: int, message: str = "", data: Any = None |
|
): |
|
self.message = message |
|
self.status_code = status_code |
|
self.data = data |
|
|
|
tb_str = traceback.format_exc().strip() |
|
if not tb_str or tb_str == "NoneType: None": |
|
msg = f"HttpException: {status_code}, {task_id}, {message}" |
|
else: |
|
msg = f"HttpException: {status_code}, {task_id}, {message}\n{tb_str}" |
|
|
|
if status_code == 400: |
|
logger.warning(msg) |
|
else: |
|
logger.error(msg) |
|
|
|
|
|
class FileNotFoundException(Exception): |
|
pass |
|
|