0.1.2 • Published 11 months ago

@upstash/strapi-plugin-upstash-ratelimit v0.1.2

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

npm package version npm package daily downloads github stars github issues

!NOTE
This project is in the Experimental Stage. We declare this project experimental to set clear expectations for your usage. There could be known or unknown bugs, the API could evolve, or the project could be discontinued if it does not find community adoption. While we cannot provide professional support for experimental projects, we’d be happy to hear from you if you see value in this project!

Quickstart

Install

npm

npm install --save @upstash/strapi-plugin-upstash-ratelimit

yarn

yarn add @upstash/strapi-plugin-upstash-ratelimit

Create database

Create a new redis database on Upstash Console. See docs for further info related to creating a database.

Set up environment variables

Get the environment variables from Upstash Console, and set it to .env file as below:

UPSTASH_REDIS_REST_TOKEN="<YOUR_TOKEN>"
UPSTASH_REDIS_REST_URL="<YOUR_URL>"

Configure the Strapi plugin

In the ./config/plugins.ts file, set the configurations for ratelimiter.

export default () => ({
  "strapi-plugin-upstash-ratelimit": {
    enabled: true,
    resolve: "./src/plugins/strapi-plugin-upstash-ratelimit",
    config: {
      enabled: true,
      token: process.env.UPSTASH_REDIS_REST_TOKEN,
      url: process.env.UPSTASH_REDIS_REST_URL,
      strategy: [
        {
          methods: ["GET", "POST"],
          path: "*",
          limiter: {
            algorithm: "fixed-window",
            tokens: 10,
            window: "20s",
          },
        },
      ],
      prefix: "@strapi",
    },
  },
});

Documentation

See the documentation for more information details about this package.