adsasdasd
This commit is contained in:
@@ -22,9 +22,22 @@ class DebugScopedRateThrottle(ScopedRateThrottle):
|
||||
def allow_request(self, request, view):
|
||||
"""
|
||||
Check if request should be throttled.
|
||||
Only bypasses for DEBUG mode or public requests.
|
||||
Enforces per-account throttling for all authenticated users.
|
||||
Bypasses for: DEBUG mode, superusers, developers, system accounts, and public requests.
|
||||
Enforces per-account throttling for regular users.
|
||||
"""
|
||||
# Bypass for superusers and developers
|
||||
if request.user and hasattr(request.user, 'is_authenticated') and request.user.is_authenticated:
|
||||
if getattr(request.user, 'is_superuser', False):
|
||||
return True
|
||||
if hasattr(request.user, 'role') and request.user.role == 'developer':
|
||||
return True
|
||||
# Bypass for system account users
|
||||
try:
|
||||
if hasattr(request.user, 'is_system_account_user') and request.user.is_system_account_user():
|
||||
return True
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# Check if throttling should be bypassed
|
||||
debug_bypass = getattr(settings, 'DEBUG', False)
|
||||
env_bypass = getattr(settings, 'IGNY8_DEBUG_THROTTLE', False)
|
||||
|
||||
Reference in New Issue
Block a user