Как применить ограничитель скорости fasttify к одному маршруту в Nest JS? - PullRequest
0 голосов
/ 03 марта 2020

Я могу применить ограничитель скорости к моему приложению nest глобально, используя код, подобный ответу на этот вопрос . В файле readme ограничителя скорости показано, что вы можете применить ограничитель скорости к указанному маршруту c через свойство config с объектом rateLimit с параметрами. Документация Nest не объясняет, как это сделать; это возможно в рамках или мне не повезло?

1 Ответ

1 голос
/ 03 марта 2020

Не существует встроенного способа добавить его только в конечную точку, но вы можете изменить функцию свойства whitelist, чтобы она возвращала true для всех маршрутов, кроме одного (-ых), для которого вы хотите ограничить скорость. Это может выглядеть примерно так:

app.use(rateLimit({
  whitelist: (req, key) => {
    return !limitProtectedRoutes.includes(req.url);
  }),
}));

Может потребоваться еще несколько модификаций, но идея есть

...