authentik.brands.middleware

Inject brand into current request

 1"""Inject brand into current request"""
 2
 3from collections.abc import Callable
 4
 5from django.http.request import HttpRequest
 6from django.http.response import HttpResponse
 7from django.utils.translation import override
 8
 9from authentik.brands.utils import get_brand_for_request
10
11
12class BrandMiddleware:
13    """Add current brand to http request"""
14
15    get_response: Callable[[HttpRequest], HttpResponse]
16
17    def __init__(self, get_response: Callable[[HttpRequest], HttpResponse]):
18        self.get_response = get_response
19
20    def __call__(self, request: HttpRequest) -> HttpResponse:
21        locale_to_set = None
22        if not hasattr(request, "brand"):
23            brand = get_brand_for_request(request)
24            request.brand = brand
25            locale = brand.default_locale
26            if locale != "":
27                locale_to_set = locale
28        if locale_to_set:
29            with override(locale_to_set):
30                return self.get_response(request)
31        return self.get_response(request)
class BrandMiddleware:
13class BrandMiddleware:
14    """Add current brand to http request"""
15
16    get_response: Callable[[HttpRequest], HttpResponse]
17
18    def __init__(self, get_response: Callable[[HttpRequest], HttpResponse]):
19        self.get_response = get_response
20
21    def __call__(self, request: HttpRequest) -> HttpResponse:
22        locale_to_set = None
23        if not hasattr(request, "brand"):
24            brand = get_brand_for_request(request)
25            request.brand = brand
26            locale = brand.default_locale
27            if locale != "":
28                locale_to_set = locale
29        if locale_to_set:
30            with override(locale_to_set):
31                return self.get_response(request)
32        return self.get_response(request)

Add current brand to http request

BrandMiddleware( get_response: Callable[[django.http.request.HttpRequest], django.http.response.HttpResponse])
18    def __init__(self, get_response: Callable[[HttpRequest], HttpResponse]):
19        self.get_response = get_response
get_response: Callable[[django.http.request.HttpRequest], django.http.response.HttpResponse]