Skip to content

Commit a304380

Browse files
browniebrokealeksihakli
authored andcommitted
feat: pass down the request in a few more places
1 parent 510c8d1 commit a304380

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

axes/attempts.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@
1212
log = getLogger(__name__)
1313

1414

15-
def get_cool_off_threshold(attempt_time: Optional[datetime] = None) -> datetime:
15+
def get_cool_off_threshold(
16+
attempt_time: Optional[datetime] = None, request: Optional[HttpRequest] = None
17+
) -> datetime:
1618
"""
1719
Get threshold for fetching access attempts from the database.
1820
"""
1921

20-
cool_off = get_cool_off()
22+
cool_off = get_cool_off(request)
2123
if cool_off is None:
2224
raise TypeError(
2325
"Cool off threshold can not be calculated with settings.AXES_COOLOFF_TIME set to None"
@@ -62,12 +64,14 @@ def get_user_attempts(
6264
)
6365
return attempts_list
6466

65-
threshold = get_cool_off_threshold(request.axes_attempt_time)
67+
threshold = get_cool_off_threshold(request.axes_attempt_time, request)
6668
log.debug("AXES: Getting access attempts that are newer than %s", threshold)
6769
return [attempts.filter(attempt_time__gte=threshold) for attempts in attempts_list]
6870

6971

70-
def clean_expired_user_attempts(attempt_time: Optional[datetime] = None) -> int:
72+
def clean_expired_user_attempts(
73+
attempt_time: Optional[datetime] = None, request: Optional[HttpRequest] = None
74+
) -> int:
7175
"""
7276
Clean expired user attempts from the database.
7377
"""
@@ -78,7 +82,7 @@ def clean_expired_user_attempts(attempt_time: Optional[datetime] = None) -> int:
7882
)
7983
return 0
8084

81-
threshold = get_cool_off_threshold(attempt_time)
85+
threshold = get_cool_off_threshold(attempt_time, request)
8286
count, _ = AccessAttempt.objects.filter(attempt_time__lt=threshold).delete()
8387
log.info(
8488
"AXES: Cleaned up %s expired access attempts from database that were older than %s",

axes/handlers/database.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def user_login_failed(self, sender, credentials: dict, request=None, **kwargs):
132132
return
133133

134134
# 1. database query: Clean up expired user attempts from the database before logging new attempts
135-
clean_expired_user_attempts(request.axes_attempt_time)
135+
clean_expired_user_attempts(request.axes_attempt_time, request)
136136

137137
username = get_client_username(request, credentials)
138138
client_str = get_client_str(
@@ -262,7 +262,7 @@ def user_logged_in(self, sender, request, user, **kwargs):
262262
"""
263263

264264
# 1. database query: Clean up expired user attempts from the database
265-
clean_expired_user_attempts(request.axes_attempt_time)
265+
clean_expired_user_attempts(request.axes_attempt_time, request)
266266

267267
username = user.get_username()
268268
credentials = get_credentials(username)
@@ -305,7 +305,7 @@ def user_logged_out(self, sender, request, user, **kwargs):
305305
"""
306306

307307
# 1. database query: Clean up expired user attempts from the database
308-
clean_expired_user_attempts(request.axes_attempt_time)
308+
clean_expired_user_attempts(request.axes_attempt_time, request)
309309

310310
username = user.get_username() if user else None
311311
client_str = get_client_str(

axes/helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ def get_lockout_response(
474474
"username": get_client_username(request, credentials) or "",
475475
}
476476

477-
cool_off = get_cool_off()
477+
cool_off = get_cool_off(request)
478478
if cool_off:
479479
context.update(
480480
{

0 commit comments

Comments
 (0)