@bobthebike/sequelize-rate-limit-store
v1.0.0
Published
A Sequelize store for express-rate-limit.
Readme
sequelize-rate-limit-store
A Sequelize store for the express-rate-limit middleware.
Installation
npm install sequelize-rate-limit-storeUsage
This package requires Node 18 or above.
Import it in a CommonJS project as follows:
const { SequelizeStore } = require("sequelize-rate-limit-store");Examples
// Open the database, create connection, and initialize Sequelize
const db = {};
db.conn_config = {
dialect: db_dialect,
host: db_host,
storage: `./${db_file_name}`,
};
const { rateLimit } = require("express-rate-limit");
const { SequelizeStore } = require("sequelize-rate-limit-store");
// Create and use the rate limiter
const limiter = rateLimit({
// Rate limiter configuration
windowMs: 15 * 60 * 1000,
max: 100, // Limit each IP to 100 requests per `window`
standardHeaders: false, // Disable rate limit info in the `RateLimit-*` headers
legacyHeaders: false, // Disable the `X-RateLimit-*` headers
// Sequelize store configuration
store: new SequelizeStore({
store: db.conn_config,
// Optional: specify the name of the table to store rate limit data (default: 'rate_limits')
tableName: "rate_limits",
}),
});
app.use(limiter);Configuration
store
Sequelize|undefined
The Sequelize instance to use for the database connection.
