harden raw request body parsing

This commit is contained in:
2026-09-06 17:29:29 +03:00
parent cd6a39558c
commit 3e73849480
+6 -3
View File
@@ -615,12 +615,15 @@ function json(res, code, body) {
function readRaw(req, limit = 1024 * 1024) {
return new Promise((resolve, reject) => {
let buf = '';
let settled = false;
const fail = (error) => { if (!settled) { settled = true; reject(error); } };
req.on('data', (c) => {
if (settled) return;
buf += c;
if (buf.length > limit) { reject(new Error('Gövde çok büyük')); req.destroy(); }
if (buf.length > limit) { fail(new Error('Gövde çok büyük')); req.destroy(); }
});
req.on('end', () => resolve(buf));
req.on('error', reject);
req.on('end', () => { if (!settled) { settled = true; resolve(buf); } });
req.on('error', fail);
});
}