Имплементация тестового задания от неизвестной компании. Текст задания находится в данном файле.
Решение является частью middleware
, что значит перед выполнением запроса клиента, запрос прежде чем попасть к хендлеру, вынужден пройти проверку, которая является частью задания. Реализация rate limit для одной подсети IPv4 с ограничениями кол-ва запросов в минуту.
Решение запускается через контейнерезацию, путём поднятия докер композиции.
docker-compose up
В случае, когда порт занят - следует изменить строку ports:
в файле docker-compose.yaml
Так же данный файл содержит настройки ограничений middleware
в строке env:
, где:
- BOUND (int) = время в минутах, за которое планируется получить определённое кол-во запросов.
- BLOCK (int) = время в минутах, которое отводится на блокировку подсети IPv4 с которой пришло запросов больше чем выставлено в ограничении.
- LIMIT (int) = положительное число количества запросов, которое ожидается за время BOUND.