nova_auth_rate_limit (nova_auth v0.2.0)

View Source

Rate limiting Nova plugin backed by Seki.

Uses Seki's sliding window algorithm by default. The limiter is created automatically on first use if it doesn't exist.

Usage

#{prefix => <<"/api/auth">>,
  plugins => [
      {pre_request, nova_auth_rate_limit, #{
          limiter => auth_rate_limit,
          limit => 10,
          window => 60000,
          algorithm => sliding_window
      }}
  ],
  routes => [...]}

Options

  • limiter — Limiter name atom (default: nova_auth_rate_limit)
  • limit — Max requests per window (default: 10)
  • window — Window in milliseconds (default: 60000)
  • algorithm — Seki algorithm (default: sliding_window)
  • key_funfun(Req) -> Key for custom rate limit keys (default: peer IP)