refactor: Upgrade path-to-regexp from 0.1.7 to 6.2.1 (#8558)

This commit is contained in:
Daniel
2023-05-23 00:39:32 +10:00
committed by GitHub
parent 00c362d739
commit 4c1093e2e4
4 changed files with 26 additions and 12 deletions

24
package-lock.json generated
View File

@@ -40,7 +40,7 @@
"mongodb": "4.10.0", "mongodb": "4.10.0",
"mustache": "4.2.0", "mustache": "4.2.0",
"parse": "4.0.1", "parse": "4.0.1",
"path-to-regexp": "0.1.7", "path-to-regexp": "6.2.1",
"pg-monitor": "2.0.0", "pg-monitor": "2.0.0",
"pg-promise": "11.3.0", "pg-promise": "11.3.0",
"pluralize": "8.0.0", "pluralize": "8.0.0",
@@ -7314,6 +7314,11 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
}, },
"node_modules/express/node_modules/path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
},
"node_modules/ext": { "node_modules/ext": {
"version": "1.7.0", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
@@ -16206,9 +16211,9 @@
"dev": true "dev": true
}, },
"node_modules/path-to-regexp": { "node_modules/path-to-regexp": {
"version": "0.1.7", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
}, },
"node_modules/path-type": { "node_modules/path-type": {
"version": "4.0.0", "version": "4.0.0",
@@ -26129,6 +26134,11 @@
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
} }
} }
}, },
@@ -32836,9 +32846,9 @@
"dev": true "dev": true
}, },
"path-to-regexp": { "path-to-regexp": {
"version": "0.1.7", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
}, },
"path-type": { "path-type": {
"version": "4.0.0", "version": "4.0.0",

View File

@@ -49,7 +49,7 @@
"mongodb": "4.10.0", "mongodb": "4.10.0",
"mustache": "4.2.0", "mustache": "4.2.0",
"parse": "4.0.1", "parse": "4.0.1",
"path-to-regexp": "0.1.7", "path-to-regexp": "6.2.1",
"pg-monitor": "2.0.0", "pg-monitor": "2.0.0",
"pg-promise": "11.3.0", "pg-promise": "11.3.0",
"pluralize": "8.0.0", "pluralize": "8.0.0",

View File

@@ -82,9 +82,9 @@ const getRoute = parseClass => {
'@File': 'files', '@File': 'files',
}[parseClass] || 'classes'; }[parseClass] || 'classes';
if (parseClass === '@File') { if (parseClass === '@File') {
return `/${route}/:id?*`; return `/${route}/:id?(.*)`;
} }
return `/${route}/${parseClass}/:id?*`; return `/${route}/${parseClass}/:id?(.*)`;
}; };
/** @namespace /** @namespace
* @name Parse * @name Parse

View File

@@ -9,7 +9,7 @@ import MongoStorageAdapter from './Adapters/Storage/Mongo/MongoStorageAdapter';
import PostgresStorageAdapter from './Adapters/Storage/Postgres/PostgresStorageAdapter'; import PostgresStorageAdapter from './Adapters/Storage/Postgres/PostgresStorageAdapter';
import rateLimit from 'express-rate-limit'; import rateLimit from 'express-rate-limit';
import { RateLimitOptions } from './Options/Definitions'; import { RateLimitOptions } from './Options/Definitions';
import pathToRegexp from 'path-to-regexp'; import { pathToRegexp } from 'path-to-regexp';
import ipRangeCheck from 'ip-range-check'; import ipRangeCheck from 'ip-range-check';
import RedisStore from 'rate-limit-redis'; import RedisStore from 'rate-limit-redis';
import { createClient } from 'redis'; import { createClient } from 'redis';
@@ -512,8 +512,12 @@ export const addRateLimit = (route, config, cloud) => {
}, },
}); });
} }
let transformPath = route.requestPath.replaceAll('/*', '/(.*)');
if (transformPath === '*') {
transformPath = '(.*)';
}
config.rateLimits.push({ config.rateLimits.push({
path: pathToRegexp(route.requestPath), path: pathToRegexp(transformPath),
handler: rateLimit({ handler: rateLimit({
windowMs: route.requestTimeWindow, windowMs: route.requestTimeWindow,
max: route.requestCount, max: route.requestCount,