Добавлен класс RequestManager
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
"""
|
||||
Описание класса CoreViewSet
|
||||
"""
|
||||
|
||||
from typing import Any
|
||||
from typing import Type
|
||||
from uuid import UUID
|
||||
@@ -59,7 +58,7 @@ class CoreViewSet(ViewSet):
|
||||
if default is not None:
|
||||
return default
|
||||
|
||||
raise AttributeError(f"{self.__class__.__name__} must define 'serializer' attribute")
|
||||
raise ImproperlyConfigured(f"{self.__class__.__name__} must define 'serializer' attribute")
|
||||
|
||||
@classmethod
|
||||
def _process_pk_param(cls, **kwargs: Any) -> UUID | None:
|
||||
@@ -134,6 +133,19 @@ class CoreViewSet(ViewSet):
|
||||
|
||||
return self._get_request_method() == HttpMethod.PATCH
|
||||
|
||||
def _get_request_id(self) -> UUID:
|
||||
"""
|
||||
Возвращает идентификатор запроса
|
||||
|
||||
:return: Идентификатор запроса
|
||||
"""
|
||||
|
||||
try:
|
||||
request_id = self.request.headers.get("X-Request-ID", None)
|
||||
return UUID(request_id)
|
||||
except ValueError:
|
||||
return UUID()
|
||||
|
||||
def _get_request_method(self) -> str:
|
||||
"""
|
||||
Возвращает имя метода HTTP протокола запроса
|
||||
|
||||
Reference in New Issue
Block a user