
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.
Message processing middleware, for Node.js/JavaScript. It can chain message processors, simple functions that receives a message (a simple JavaScript object).
Via npm on Node:
npm install mproc
Reference in your program:
var mproc = require('mproc');
Create a message processor, and build a chain of message processors
var processor = mproc.createProcessor();
processor.use(function (message, next) { message++; next(null, message); })
.use(function (message, next) { console.dir(message); })
Each message processor is a function that receives two parameters:
message: A simple JavaScript objectnext: A function that receives two parameters err, message. It executes the next step
in the message processor chain.You can define a processor with a fail error function:
var processor = mproc.createProcessor()
.use(function (msg, next) { ... })
.use(function (msg, next) { ... })
.fail(function (err) { ... })
The supplied fail function will be invoked if any next function call receives a non-null first argument, or if
the middleware function raise an exception.
To send a message to a processor:
processor.run(message);
Note: each function in the chain can have asynchronous processing or not, then it can invoke the next or not.
Usually, each step/function in the message processor chain, calls the next function with the same message. But they can enrich/transform the message, or give another message to the next function.
To give the same message (maybe enriched or transformed), you can call:
next();
without arguments. If you want to send a NEW message to the next steps, use:
next(null, newmessage);
Sometimes, you want to send new message to the same processor. In those cases, the step function can be defined with
a third parameter, the context, an auxiliary object with a function post:
function numbers(messsage, next, context) {
for (var k = 1; k < message.counter; k++)
context.post({ counter: k });
}
context.post function processes the new message in the next tick.
See the Web Crawler sample for an example of using context.post to produce multiple message in one step.
See Collatz sample for an example using context.post to have a loop in the message process.
git clone git://github.com/ajlopez/MProc.git
cd MProc
npm install
npm test
context.clone utility function to deep clone a message..createProcessor, processor.run, processor.runSync, context.send, context.post.proc.runSync, context.send. Adding proc.fail. Using setImmediate.Feel free to file issues and submit pull requests � contributions are welcome.
If you submit a pull request, please be sure to add or update corresponding
test cases, and ensure that npm test continues to pass.
FAQs
Message processing middleware, for Node.js/JavaScript
We found that mproc 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.