From 4a7c0293f84746e8f4d44d72b2a95ba58cca8558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Casaj=C3=BAs?= Date: Mon, 5 Feb 2024 14:53:01 +0100 Subject: [PATCH] Fix: if redis is not configured do not enable rate limit (#2027) --- app/rate_limiter.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/rate_limiter.py b/app/rate_limiter.py index dac3da6a..ceaabc5f 100644 --- a/app/rate_limiter.py +++ b/app/rate_limiter.py @@ -23,9 +23,11 @@ def check_bucket_limit( # Calculate current bucket time bucket_id = int(datetime.utcnow().timestamp()) % bucket_seconds bucket_lock_name = f"bl:{lock_name}:{bucket_id}" + if not lock_redis: + return try: value = lock_redis.incr(bucket_lock_name, bucket_seconds) if value > max_hits: raise werkzeug.exceptions.TooManyRequests() - except redis.exceptions.RedisError: + except (redis.exceptions.RedisError, AttributeError): log.e("Cannot connect to redis")