如何在Nest JS中将固定速率限制器应用于单个路由?

时间:2020-03-03 17:32:03

标签: nestjs rate-limiting fastify

我可以使用类似于this question的答案的代码将速率限制器全局应用于我的Nest应用。在fastify rate limiter readme上,显示了可以通过带有rateLimit对象(带有选项)的config属性将速率限制器应用于特定路由。 Nest的文档没有说明如何执行此操作;可能在框架中还是我不走运?

1 个答案:

答案 0 :(得分:2)

没有固有的方法仅将其添加到端点,但是您可以修改whitelist属性函数以为除要进行速率限制的路由之外的所有路由返回true。可能看起来像

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

可能还需要一些修改,但是想法在那里