Исправление обработчика pure_status для ошибок
This commit is contained in:
@@ -8,4 +8,5 @@
|
||||
Пакет описания классов представлений
|
||||
"""
|
||||
|
||||
from .error_404_handler_view_set import Error404HandlerViewSet
|
||||
from .version_view_set import VersionViewSet
|
||||
|
||||
59
net/xeaf/rack/views/error_404_handler_view_set.py
Normal file
59
net/xeaf/rack/views/error_404_handler_view_set.py
Normal file
@@ -0,0 +1,59 @@
|
||||
# DRF Rack
|
||||
# Библиотека классов расширений для Django REST Framework
|
||||
#
|
||||
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
|
||||
# Все права защищены. Лицензия: MIT
|
||||
|
||||
"""
|
||||
Описание класса Error404HandlerViewSet
|
||||
"""
|
||||
|
||||
from typing import Any
|
||||
|
||||
from django.urls import re_path
|
||||
from django.urls import URLPattern
|
||||
from rest_framework.permissions import AllowAny
|
||||
from rest_framework.request import Request
|
||||
|
||||
from net.xeaf.rack.core.views import CoreViewSet
|
||||
from net.xeaf.rack.core.views import ViewSetListMixin
|
||||
from net.xeaf.rack.core.views import ViewSetRetrieveMixin
|
||||
from net.xeaf.rack.utils.exceptions import FileNotFoundException
|
||||
|
||||
|
||||
class Error404HandlerViewSet(ViewSetListMixin, ViewSetRetrieveMixin, CoreViewSet):
|
||||
"""
|
||||
Реализует базовый функционал обработчика переходов по несуществующим адресам
|
||||
"""
|
||||
|
||||
permission_classes = [AllowAny, ]
|
||||
""" Классы проверки прав доступа """
|
||||
|
||||
def raise404(self, request: Request, **kwargs: dict[str, Any]):
|
||||
"""
|
||||
Выбрасывает исключение 404
|
||||
"""
|
||||
|
||||
raise FileNotFoundException()
|
||||
|
||||
@classmethod
|
||||
def get_path(cls) -> list[URLPattern]:
|
||||
"""
|
||||
Возвращает полный список путей набора представлений
|
||||
|
||||
:return: Список путей
|
||||
"""
|
||||
|
||||
# Аргументы
|
||||
args = {
|
||||
"get": "raise404",
|
||||
"post": "raise404",
|
||||
"patch": "raise404",
|
||||
"put": "raise404",
|
||||
"delete": "raise404"
|
||||
}
|
||||
|
||||
return [
|
||||
re_path(r'^.*/$', cls.as_view(args)),
|
||||
re_path(r'^.*$', cls.as_view(args)),
|
||||
]
|
||||
@@ -11,7 +11,6 @@
|
||||
from typing import Any
|
||||
from uuid import UUID
|
||||
|
||||
from rest_framework.exceptions import ValidationError
|
||||
from rest_framework.permissions import AllowAny
|
||||
|
||||
from net.xeaf.rack.core import CoreModel
|
||||
|
||||
Reference in New Issue
Block a user