Compare commits

..

2 Commits

Author SHA1 Message Date
Douglas Barone
59580340e6 1.0.1 2023-12-19 08:35:25 -04:00
Douglas Barone
23b72e5c21 Add express-rate-limit middleware to server.js 2023-12-19 08:35:22 -04:00
3 changed files with 38 additions and 15 deletions

19
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "ifms-pwd-web",
"version": "1.0.0",
"version": "1.0.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ifms-pwd-web",
"version": "1.0.0",
"version": "1.0.1",
"dependencies": {
"@mdi/font": "7.0.96",
"@trpc/client": "^10.44.1",
@ -15,6 +15,7 @@
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"express-rate-limit": "^7.1.5",
"ldapts": "^7.0.7",
"roboto-fontface": "*",
"vue": "^3.2.0",
@ -1988,6 +1989,20 @@
"node": ">= 0.10.0"
}
},
"node_modules/express-rate-limit": {
"version": "7.1.5",
"resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.1.5.tgz",
"integrity": "sha512-/iVogxu7ueadrepw1bS0X0kaRC/U0afwiYRSLg68Ts+p4Dc85Q5QKsOnPS/QUjPMHvOJQtBDrZgvkOzf8ejUYw==",
"engines": {
"node": ">= 16"
},
"funding": {
"url": "https://github.com/sponsors/express-rate-limit"
},
"peerDependencies": {
"express": "4 || 5 || ^5.0.0-beta.1"
}
},
"node_modules/express/node_modules/body-parser": {
"version": "1.20.1",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",

View File

@ -1,6 +1,6 @@
{
"name": "ifms-pwd-web",
"version": "1.0.0",
"version": "1.0.1",
"scripts": {
"clean": "rimraf ./dist",
"dev:web": "vite --host",
@ -21,6 +21,7 @@
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"express-rate-limit": "^7.1.5",
"ldapts": "^7.0.7",
"roboto-fontface": "*",
"vue": "^3.2.0",

View File

@ -1,18 +1,25 @@
import express from "express";
import { trpcMiddleware } from "./trpc";
import cors from "cors";
import express from 'express'
import { trpcMiddleware } from './trpc'
import cors from 'cors'
import { rateLimit } from 'express-rate-limit'
const server = express();
const limiter = rateLimit({
windowMs: 60 * 1000, // 1 minute
max: 100 // limit each IP to 100 requests per windowMs
})
server.use(cors());
server.use("/trpc", trpcMiddleware);
const server = express()
if (process.env.NODE_ENV == "production") {
server.use("/", express.static("dist/web"));
server.use(cors())
server.use(limiter)
server.use('/trpc', trpcMiddleware)
server.get("*", (req, res) => {
res.sendFile("index.html", { root: "dist/web" });
});
if (process.env.NODE_ENV == 'production') {
server.use('/', express.static('dist/web'))
server.get('*', (req, res) => {
res.sendFile('index.html', { root: 'dist/web' })
})
}
export { server };
export { server }