From a01ab43cc6453d89b9bbb4c229fca82bb8bb9790 Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Fri, 26 Aug 2022 15:23:50 +0100 Subject: [PATCH] Add HttpRequest current_app and LANGUAGE_CODE attrs (#1127) * Add HttpRequest.current_app * rearrange and add LANGUAGE_CODE --- django-stubs/http/request.pyi | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/django-stubs/http/request.pyi b/django-stubs/http/request.pyi index 8890d3c..6ae9e25 100644 --- a/django-stubs/http/request.pyi +++ b/django-stubs/http/request.pyi @@ -53,10 +53,18 @@ class HttpRequest(BytesIO): resolver_match: Optional[ResolverMatch] = ... content_type: Optional[str] = ... content_params: Optional[Dict[str, str]] = ... - user: Union[AbstractBaseUser, AnonymousUser] - site: Site - session: SessionBase _stream: BinaryIO + # Attributes added by optional parts of Django + # django.contrib.admin views: + current_app: str + # django.contrib.auth.middleware.AuthenticationMiddleware: + user: Union[AbstractBaseUser, AnonymousUser] + # django.middleware.locale.LocaleMiddleware: + LANGUAGE_CODE: str + # django.contrib.sites.middleware.CurrentSiteMiddleware + site: Site + # django.contrib.sessions.middleware.SessionMiddleware + session: SessionBase # The magic. If we instantiate HttpRequest directly somewhere, it has # mutable GET and POST. However, both ASGIRequest and WSGIRequest have immutable, # so when we use HttpRequest to refer to any of them we want exactly this.