Skip to content

Commit 5e02587

Browse files
committed
explicit check for form data
1 parent de5aba2 commit 5e02587

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

api/api.js

+17-6
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,12 @@ plugins.connectToAllDatabases().then(function() {
348348
req.body += data;
349349
});
350350

351+
let multiFormData = false;
352+
// Check if we have 'multipart/form-data'
353+
if (req.headers['content-type']?.startsWith('multipart/form-data')) {
354+
multiFormData = true;
355+
}
356+
351357
form.parse(req, (err, fields, files) => {
352358
//handle bakcwards compatability with formiddble v1
353359
for (let i in files) {
@@ -362,14 +368,19 @@ plugins.connectToAllDatabases().then(function() {
362368
}
363369
}
364370
params.files = files;
365-
let formDataUrl = [];
366-
for (const i in fields) {
367-
params.qstring[i] = fields[i];
368-
formDataUrl.push(`${i}=${fields[i]}`);
369-
}
370-
if (formDataUrl.length) {
371+
if (multiFormData) {
372+
let formDataUrl = [];
373+
for (const i in fields) {
374+
params.qstring[i] = fields[i];
375+
formDataUrl.push(`${i}=${fields[i]}`);
376+
}
371377
params.formDataUrl = formDataUrl.join('&');
372378
}
379+
else {
380+
for (const i in fields) {
381+
params.qstring[i] = fields[i];
382+
}
383+
}
373384
if (!params.apiPath) {
374385
processRequest(params);
375386
}

0 commit comments

Comments
 (0)