diff --git a/package.json b/package.json index a9ca7c1..7857595 100644 --- a/package.json +++ b/package.json @@ -27,42 +27,42 @@ ], "license": "MIT", "dependencies": { - "axios": "^1.5.0", + "axios": "^1.5.1", "bcryptjs": "^2.4.3", "cors": "^2.8.5", "express": "^4.18.2", "express-basic-auth": "^1.2.1", - "express-rate-limit": "^6.10.0", + "express-rate-limit": "^7.0.2", "express-validator": "^7.0.1", - "graphql": "^16.8.0", + "graphql": "^16.8.1", "graphql-http": "^1.22.0", "graphql-tag": "^2.12.6", "helmet": "^7.0.0", "jsonwebtoken": "^9.0.2", "moment": "^2.29.4", - "mongodb": "^6.0.0", - "mongoose": "^7.5.0", - "pino": "^8.15.0", + "mongodb": "^6.1.0", + "mongoose": "^7.5.3", + "pino": "^8.15.3", "pino-pretty": "^10.2.0", "swagger-ui-express": "^5.0.0", "switcher-client": "^3.1.9", "validator": "^13.11.0" }, "devDependencies": { - "@babel/cli": "^7.22.10", - "@babel/core": "^7.22.11", - "@babel/node": "^7.22.10", - "@babel/preset-env": "^7.22.14", - "@babel/register": "^7.22.5", - "babel-jest": "^29.6.4", + "@babel/cli": "^7.23.0", + "@babel/core": "^7.23.0", + "@babel/node": "^7.22.19", + "@babel/preset-env": "^7.22.20", + "@babel/register": "^7.22.15", + "babel-jest": "^29.7.0", "babel-polyfill": "^6.26.0", "env-cmd": "^10.1.0", - "eslint": "^8.48.0", - "jest": "^29.6.4", + "eslint": "^8.50.0", + "jest": "^29.7.0", "jest-sonar-reporter": "^2.0.0", "node-notifier": "^10.0.1", "nodemon": "^3.0.1", - "sinon": "^15.2.0", + "sinon": "^16.0.0", "supertest": "^6.3.3" }, "repository": { diff --git a/src/middleware/limiter.js b/src/middleware/limiter.js index 6a4cbc0..73984cd 100644 --- a/src/middleware/limiter.js +++ b/src/middleware/limiter.js @@ -16,18 +16,20 @@ export const DEFAULT_RATE_LIMIT = 1000; export const defaultLimiter = rateLimit({ windowMs: DEFAULT_WINDOWMS, - max: getMaxRate(parseInt(process.env.MAX_REQUEST_PER_MINUTE)), - standardHeaders: true, + limit: getMaxRate(parseInt(process.env.MAX_REQUEST_PER_MINUTE)), + standardHeaders: 'draft-7', + legacyHeaders: false, message: ERROR_MESSAGE, - store: new MemoryStore(), + store: new MemoryStore() }); export const clientLimiter = rateLimit({ windowMs: DEFAULT_WINDOWMS, - keyGenerator: (request) => request.domain, - max: (request) => getMaxRate(request.rate_limit), + keyGenerator: (request) => request.domain.toString(), + limit: (request) => getMaxRate(request.rate_limit), skip: (request) => request.rate_limit === 0, - standardHeaders: true, + standardHeaders: 'draft-7', + legacyHeaders: false, message: ERROR_MESSAGE, - store: new MemoryStore(), + store: new MemoryStore() }); \ No newline at end of file