aws4-express
Version:
Express middleware handlers for validation AWS Signature V4
50 lines • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.rawBodyBufferFromStream = exports.rawBodyBufferFromStreamEncoding = exports.rawBodyFromStream = exports.rawBodyFromStreamEncoding = exports.rawBodyFromVerify = void 0;
/*
These handler are sugested way to fill req.rawBody with data.
You can use own with library as long as you fill req.rawBody with data.
*/
const rawBodyFromVerify = (req, _res, buf, _encoding) => {
req.rawBody = buf;
};
exports.rawBodyFromVerify = rawBodyFromVerify;
const rawBodyFromStreamEncoding = (encoding = 'utf8') => (req, _res, next) => {
if (req.rawBody) {
return next();
}
req.rawBody = '';
req.setEncoding(encoding);
req.on('data', (chunk) => {
req.rawBody += chunk;
});
req.on('end', () => {
next();
});
req.on('error', () => {
next();
});
};
exports.rawBodyFromStreamEncoding = rawBodyFromStreamEncoding;
exports.rawBodyFromStream = (0, exports.rawBodyFromStreamEncoding)('utf8');
const rawBodyBufferFromStreamEncoding = (encoding = 'utf8') => (req, _res, next) => {
if (req.rawBody) {
return next();
}
const chunks = [];
req.setEncoding(encoding);
req.on('data', (chunk) => {
// Konwertujemy string na Buffer
chunks.push(Buffer.from(chunk, encoding));
});
req.on('end', () => {
req.rawBody = Buffer.concat(chunks);
next();
});
req.on('error', (err) => {
next(err);
});
};
exports.rawBodyBufferFromStreamEncoding = rawBodyBufferFromStreamEncoding;
exports.rawBodyBufferFromStream = (0, exports.rawBodyBufferFromStreamEncoding)('utf8');
//# sourceMappingURL=rawBody.js.map