1.2.0 โ€ข Published 3 months ago

nuxt-rate-limit v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

Nuxt Rate Limit

Add rate limits to your Nuxt 3 API routes.

By default, this module will add a rate limit to any requests to a /api endpoint.

Features

  • ๐Ÿ›‘ Set rate limits per API route
  • ๐Ÿ•’ Returns seconds until reset
  • โšก Takes seconds to setup
  • ๐Ÿงพ Response x-ratelimit headers

Quick Setup

  1. Add nuxt-rate-limit dependency to your project
pnpm add -D nuxt-rate-limit
yarn add --dev nuxt-rate-limit
npm install --save-dev nuxt-rate-limit
  1. Add nuxt-rate-limit to the modules section of nuxt.config.ts
export default defineNuxtConfig({
  modules: ['nuxt-rate-limit'],
})

That's it! You can now use Nuxt Rate Limit in your Nuxt app โœจ

Options

nametypedefaultdescription
enabledbooleantrueEnabled/disable the rate limit module
headersbooleantrueAdd x-ratelimit headers to response
statusMessagestringToo many requests. Please try again in :value: seconds.Customize error message. :value: will be replaced by seconds until reset
routesobject{}Add rate limits per route

Default Rate Limit

By default, we add a rate limit to all of your /api routes. You can override this setting by adding /api/* to the nuxtRateLimit routes in your nuxt.config.ts:

export default defineNuxtConfig({
  nuxtRateLimit: {
    routes: {
      '/api/*': {
        maxRequests: 100,
        intervalSeconds: 60,
      },
    },
  },
})

Different limits per route

You can also add limits per route:

export default defineNuxtConfig({
  nuxtRateLimit: {
    routes: {
      '/api/hello': {
        maxRequests: 5,
        intervalSeconds: 10,
      },
      '/api/goodbye': {
        maxRequests: 15,
        intervalSeconds: 60,
      },
    },
  },
})
1.2.0

3 months ago

1.1.0

9 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago