django-axes/axes/decorators.py
Aleksi Häkli 3bece1aaaa
Set Axes request attributes in middleware
Fixes #415

Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-03-03 22:13:13 +02:00

26 lines
669 B
Python

from functools import wraps
from axes.handlers.proxy import AxesProxyHandler
from axes.helpers import get_lockout_response
from axes.request import AxesHttpRequest
def axes_dispatch(func):
def inner(request: AxesHttpRequest, *args, **kwargs):
if AxesProxyHandler.is_allowed(request):
return func(request, *args, **kwargs)
return get_lockout_response(request)
return inner
def axes_form_invalid(func):
@wraps(func)
def inner(self, *args, **kwargs):
if AxesProxyHandler.is_allowed(self.request):
return func(self, *args, **kwargs)
return get_lockout_response(self.request)
return inner