Shel rate limiter

It limit the number of requests made to your backend in a fixed time frame.

Usage

TODO: Include short and useful examples for package users. Add longer examples to /example folder.

  final memoryStorage = MemStorage();
    final rateLimiter = ShelfRateLimiter(
      storage: memoryStorage, duration: Duration(seconds: 60), maxRequests: 10);

The default values for duration is 60 seconds and maxRequests is 5.

Add it as a middleware inside the handler or any route.

  var handler = const Pipeline()
      .addMiddleware(logRequests())
      .addMiddleware(rateLimiter.rateLimiter())
      .addHandler(_echoRequest);

Libraries

shelf_rate_limiter