
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Parted is a streaming multipart, json, and urlencoded parser for node.js, written from scratch. It comes bundled with an express middleware which will use the necessary parser depending on the request mime type. Each parser is also lazily loaded, so there is no unnecessary memory usage if you only need one of them.
The middleware will leave you with a req.body object, similar to the default
body parser included in express. If a file was included with a multipart
request, a temporary path to the uploaded file is provided in req.body.
The multipart parser will also create a req.files object specifically for
files if you prefer.
Every parser handles nested fields in the same way node-querystring does.
Note; Although the JSON and qs/encoded parsers are streaming, they're disabled
by default and buffering parsers are used instead. Use the stream option to
enable them.
$ npm install parted
var parted = require('parted');
app.use(parted({
// custom file path
path: __dirname + '/uploads',
// memory usage limit per request
limit: 30 * 1024,
// disk usage limit per request
diskLimit: 30 * 1024 * 1024,
// enable streaming for json/qs
stream: true
}));
When multiple is disabled only a single part will be present
for a given name, for example:
{ image: '/tmp/bigred.1319577761529.png' }
However when multiple is enabled, this may be an array:
{ images:
[ '/tmp/bigred-pau.1319577761529.png',
'/tmp/bigred-ico.1319577761528.png',
'/tmp/bigred-rec.1319577761529.png',
'/tmp/bigred-sto.1319577761529.png',
'/tmp/bigred.1319577761529.png' ] }
var multipart = require('parted').multipart;
var options = {
limit: 30 * 1024,
diskLimit: 30 * 1024 * 1024
};
var parser = new multipart(type, options)
, parts = {};
parser.on('error', function(err) {
req.destroy();
next(err);
});
parser.on('part', function(field, part) {
// temporary path or string
parts[field] = part;
});
parser.on('data', function() {
console.log('%d bytes written.', this.written);
});
parser.on('end', function() {
console.log(parts);
});
req.pipe(parser);
$ node test
FAQs
A streaming body parser
The npm package parted receives a total of 5,199 weekly downloads. As such, parted popularity was classified as popular.
We found that parted demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.