From e6e22c0e002b7abcb8e0c0db47b14614141d0bf1 Mon Sep 17 00:00:00 2001 From: Liudmi1a Date: Sun, 11 Jan 2026 19:09:50 +0300 Subject: [PATCH 01/10] Update .dockerignore --- .dockerignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index 5602aec..0ed8a8b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -25,4 +25,5 @@ desktop.ini #логи и временные файлы *.log *.tmp -*.temp \ No newline at end of file + +*.temp From 975df64fc6292153e99ecc774076815bed3ed2db Mon Sep 17 00:00:00 2001 From: Liudmi1a Date: Sun, 11 Jan 2026 19:10:11 +0300 Subject: [PATCH 02/10] Update .env.example --- .env.example | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 7fe423d..43f3b3c 100644 --- a/.env.example +++ b/.env.example @@ -5,4 +5,5 @@ REDIS_PORT=6379 # APP_HOST=0.0.0.0 # APP_PORT=8000 -# DEBUG=True \ No newline at end of file + +# DEBUG=True From 52b91109345df9f7b034881582f340daf975b71f Mon Sep 17 00:00:00 2001 From: Liudmi1a Date: Sun, 11 Jan 2026 19:10:18 +0300 Subject: [PATCH 03/10] Update .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2eb619a..a4e4ba4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ __pycache__/ dump.rdb *.rdb .env -Thumbs.db \ No newline at end of file + +Thumbs.db From b5b4043b9eaef749d06c48b643797707647391f3 Mon Sep 17 00:00:00 2001 From: Liudmi1a Date: Sun, 11 Jan 2026 19:10:26 +0300 Subject: [PATCH 04/10] Update Dockerfile --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 408ff9d..c672042 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,4 +12,5 @@ COPY . . EXPOSE 8000 #запуск приложения -CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file + +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] From 1155293d778604709c117c763753c31785453969 Mon Sep 17 00:00:00 2001 From: Liudmi1a Date: Sun, 11 Jan 2026 19:10:41 +0300 Subject: [PATCH 05/10] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 69f1108..16c0b94 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Rate Limiter API -REST API сервис для ограничения частоты запросов по алгоритму Fixed Window. Поддерживает глобальные лимиты и лимиты по IP-адресу клиента. +REST API сервис для ограничения частоты запросов по алгоритму Fixed Window. Поддерживает глобальные лимиты и лимиты по IP-адресу клиента. ### Запуск через Docker @@ -57,4 +57,5 @@ rate_limiter/ ├── .env.example ├── .dockerignore └── .gitignore -``` \ No newline at end of file + +``` From 4b92e94f4e83738071280d217717abeed483cc56 Mon Sep 17 00:00:00 2001 From: Liudmi1a Date: Sun, 11 Jan 2026 19:10:49 +0300 Subject: [PATCH 06/10] Update docker-compose.yml --- docker-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5eeada7..aad00b0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3.8' +version: '3.8' services: redis: @@ -24,3 +24,4 @@ services: - .:/app volumes: redis-data: + From 085f5b4b7cdea4151d16fd98f712acdd14b5294b Mon Sep 17 00:00:00 2001 From: Liudmi1a Date: Sun, 11 Jan 2026 19:10:55 +0300 Subject: [PATCH 07/10] Update main.py --- main.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 318e2c4..7b0016f 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,4 @@ -from fastapi import FastAPI, HTTPException, Request +from fastapi import FastAPI, HTTPException, Request from pydantic import BaseModel from rate_limit import RateLimiter @@ -125,4 +125,5 @@ def reset_counters(): limiter.reset_counters() return {"status": "успех", "message": "Все счетчики сброшены"} except Exception as e: - raise HTTPException(status_code=500, detail=f"Ошибка сброса: {str(e)}") \ No newline at end of file + + raise HTTPException(status_code=500, detail=f"Ошибка сброса: {str(e)}") From 3de6790701b32c46be1fa60ab05cd2a18f71d7cc Mon Sep 17 00:00:00 2001 From: Liudmi1a Date: Sun, 11 Jan 2026 19:11:03 +0300 Subject: [PATCH 08/10] Update rate_limit.py --- rate_limit.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rate_limit.py b/rate_limit.py index 94552e0..daf1807 100644 --- a/rate_limit.py +++ b/rate_limit.py @@ -1,6 +1,6 @@ from storage import RedisStorage from typing import Dict, Tuple, Optional -import time +import time class RateLimiter: def __init__(self): @@ -92,4 +92,5 @@ def reset_counters(self): def _get_current_window(self, window_seconds: int) -> str: current_time = int(time.time()) window_number = current_time // window_seconds - return str(window_number) \ No newline at end of file + + return str(window_number) From 5a7c605cfcc33c924dfc9db30e58ba11abb9d1b0 Mon Sep 17 00:00:00 2001 From: Liudmi1a Date: Sun, 11 Jan 2026 19:11:08 +0300 Subject: [PATCH 09/10] Update requirements.txt --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b7baac2..97801e8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,5 @@ fastapi==0.100.0 uvicorn==0.24.0 redis==5.0.1 pydantic==2.12.5 -python-dotenv==1.0.0 \ No newline at end of file + +python-dotenv==1.0.0 From f1f01750ce8b366cb2b4bc3b3f15396cf66320de Mon Sep 17 00:00:00 2001 From: Liudmi1a Date: Sun, 11 Jan 2026 19:11:16 +0300 Subject: [PATCH 10/10] Update storage.py --- storage.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/storage.py b/storage.py index 67ec4fb..bf0bd55 100644 --- a/storage.py +++ b/storage.py @@ -1,5 +1,5 @@ import redis -import json +import json import os from dotenv import load_dotenv @@ -30,4 +30,5 @@ def load_config(self, config_key: str, default_config: dict) -> dict: return default_config def is_connected(self) -> bool: - return self.redis.ping() \ No newline at end of file + + return self.redis.ping()