feat(webhooks): handle form-data and text/plain reqs

This commit is contained in:
Ali BARIN
2022-12-25 16:28:58 +01:00
parent aca19f7f73
commit da9cb7d6eb
4 changed files with 251 additions and 20 deletions

View File

@@ -37,7 +37,7 @@
"crypto-js": "^4.1.1",
"debug": "~2.6.9",
"dotenv": "^10.0.0",
"express": "~4.17.3",
"express": "~4.18.2",
"express-basic-auth": "^1.2.1",
"express-graphql": "^0.12.0",
"fast-xml-parser": "^4.0.11",
@@ -51,6 +51,7 @@
"lodash.get": "^4.4.2",
"luxon": "2.3.1",
"morgan": "^1.10.0",
"multer": "1.4.5-lts.1",
"nodemailer": "6.7.0",
"oauth-1.0a": "^2.2.6",
"objection": "^3.0.0",
@@ -98,11 +99,12 @@
"@types/bull": "^3.15.8",
"@types/cors": "^2.8.12",
"@types/crypto-js": "^4.0.2",
"@types/express": "^4.17.13",
"@types/express": "^4.17.15",
"@types/http-errors": "^1.8.1",
"@types/jsonwebtoken": "^8.5.8",
"@types/lodash.get": "^4.4.6",
"@types/morgan": "^1.9.3",
"@types/multer": "1.4.7",
"@types/node": "^16.10.2",
"@types/nodemailer": "^6.4.4",
"@types/pg": "^8.6.1",

View File

@@ -26,12 +26,17 @@ appAssetsHandler(app);
app.use(morgan);
app.use(
express.json({
verify: (req, res, buf) => {
verify(req, res, buf) {
(req as IRequest).rawBody = buf;
},
})
);
app.use(express.urlencoded({ extended: false }));
app.use(express.urlencoded({
extended: false,
verify(req, res, buf) {
(req as IRequest).rawBody = buf;
},
}));
app.use(cors(corsOptions));
app.use('/', router);

View File

@@ -1,7 +1,18 @@
import { Router } from 'express';
import express, { Router } from 'express';
import multer from 'multer';
import { IRequest } from '@automatisch/types';
import webhookHandler from '../controllers/webhooks/handler';
const router = Router();
const upload = multer();
router.use(upload.none());
router.use(express.text({
verify(req, res, buf) {
(req as IRequest).rawBody = buf;
},
}));
router.get('/:flowId', webhookHandler);
router.put('/:flowId', webhookHandler);