Skip to content

Commit

Permalink
fix: init request
Browse files Browse the repository at this point in the history
  • Loading branch information
SKairinos committed Nov 6, 2024
1 parent 77925a7 commit b805632
Showing 1 changed file with 14 additions and 19 deletions.
33 changes: 14 additions & 19 deletions codeforlife/views/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import typing as t

from django.http import HttpRequest
from rest_framework.views import APIView as _APIView

from ..request import BaseRequest, Request
Expand All @@ -27,17 +28,20 @@ class BaseAPIView(_APIView, t.Generic[AnyBaseRequest]):
request: AnyBaseRequest
request_class: t.Type[AnyBaseRequest]

def _initialize_request(self, request: HttpRequest, **kwargs):
kwargs["request"] = request
kwargs.setdefault("parsers", self.get_parsers())
kwargs.setdefault("authenticators", self.get_authenticators())
kwargs.setdefault("negotiator", self.get_content_negotiator())
kwargs.setdefault("parser_context", self.get_parser_context(request))

return self.request_class(**kwargs)

def initialize_request(self, request, *args, **kwargs):
# NOTE: Call to super has side effects and is required.
super().initialize_request(request, *args, **kwargs)

return self.request_class(
request=request,
parsers=self.get_parsers(),
authenticators=self.get_authenticators(),
negotiator=self.get_content_negotiator(),
parser_context=self.get_parser_context(request),
)
return self._initialize_request(request)


# pylint: disable-next=missing-class-docstring
Expand All @@ -56,15 +60,6 @@ def get_request_user_class(cls) -> t.Type[RequestUser]:
0
]

def initialize_request(self, request, *args, **kwargs):
# NOTE: Call to super has side effects and is required.
super().initialize_request(request, *args, **kwargs)

return self.request_class(
user_class=self.get_request_user_class(),
request=request,
parsers=self.get_parsers(),
authenticators=self.get_authenticators(),
negotiator=self.get_content_negotiator(),
parser_context=self.get_parser_context(request),
)
def _initialize_request(self, request, **kwargs):
kwargs["user_class"] = self.get_request_user_class()
return super()._initialize_request(request, **kwargs)

0 comments on commit b805632

Please sign in to comment.