Тестовое задание

Имплементация тестового задания от неизвестной компании. Текст задания находится в данном файле.

Описание

Решение является частью middleware , что значит перед выполнением запроса клиента, запрос прежде чем попасть к хендлеру, вынужден пройти проверку, которая является частью задания. Реализация rate limit для одной подсети IPv4 с ограничениями кол-ва запросов в минуту.

Запуск

Решение запускается через контейнерезацию, путём поднятия докер композиции.

docker-compose up

В случае, когда порт занят - следует изменить строку ports: в файле docker-compose.yaml

Так же данный файл содержит настройки ограничений middleware в строке env: , где:

  1. BOUND (int) = время в минутах, за которое планируется получить определённое кол-во запросов.
  2. BLOCK (int) = время в минутах, которое отводится на блокировку подсети IPv4 с которой пришло запросов больше чем выставлено в ограничении.
  3. LIMIT (int) = положительное число количества запросов, которое ожидается за время BOUND.