core: allow URL parameters and POST bodies to co-exist.

Node 8.14.0 prohibits HTTP headers that exceed 8 KB (source:
https://nodejs.org/en/blog/vulnerability/november-2018-security-releases/#denial-of-service-with-large-http-headers-cve-2018-12121).

This patch allows for the parameters within the body of an HTTP POST request to
be used in addition to those within the URL (and will override them).

Closes #3568.

---
Muxator 2019-10-19:
- this commit was cherry-picked from 882b93487f
- it was modified to include the necessary changes in the documentation
This commit is contained in:
Ray Bellis 2019-06-27 00:52:53 +02:00
parent 6d9264cf3c
commit fc661ee13a
3 changed files with 35 additions and 6 deletions

View file

@ -40,7 +40,7 @@ exports.expressCreateServer = function (hook_name, args, cb) {
//This is a api POST call, collect all post informations and pass it to the apiHandler
args.app.post('/api/:version/:func', function(req, res) {
new formidable.IncomingForm().parse(req, function (err, fields, files) {
apiCaller(req, res, fields)
apiCaller(req, res, Object.assign(req.query, fields))
});
});