Skip to main content
The Deno 2 Release Candidate is here
Learn more

oak-slow-down


oak-slow-down is a basic rate-limiting middleware for Oak that slows down responses.


Features

  • Increasing the delay for every request over the limit

Usage

import { SlowDown } from "https://deno.land/x/oak_slow_down/mod.js";

// Below are default settings
const slowDown = SlowDown({
  WindowMs: 5 * 1000, // Window for the requests that can be made in milliseconds
  DelayMs: () => 500, // Response delay in milliseconds
  DelayAfter: 3 // Max requests within the predefined window before the delay
});

app.use(slowDown);

To get increasing delay set:

// Delay starts as 500ms and increased by 100ms for every request over the limit
DelayMs: (Hits) => 500 + Hits * 100