# DRF Rack # Библиотека классов расширений для Django REST Framework # # Автор: Николай В. Анохин # Все права защищены. Лицензия: MIT """ Описание класса CriticalException """ from typing import Any from django.utils.translation import gettext as _ from rest_framework import status from net.xeaf.rack.core import CoreException class CriticalException(CoreException): """ Исключение, возникающее при внутренней ошибке сервера """ def __init__(self, detail: list | str | None = None, meta: dict | None = None, **kwargs: Any): """ Инициализация :param detail: Информация об ошибке :param meta: Информация для обработки ошибки :param kwargs: Дополнительные параметры """ # Сообщение об ошибке по умолчанию if detail is None: detail = _(self.Msg.DEFAULT_MESSAGE) super().__init__(status.HTTP_500_INTERNAL_SERVER_ERROR, detail, meta, **kwargs) def is_pure_status(self) -> bool: """ Возвращает признак необходимости возвращать в ответе реальный статус HTTP :return: Признак необходимости """ return True class Msg: """ Константы сообщений """ DEFAULT_MESSAGE = _("rack.errors.http.internal_server_error") """ Внутренняя ошибка сервера """