
Security News
The Next Open Source Security Race: Triage at Machine Speed
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.
attach-middleware
Advanced tools
Attach middleware functionality onto an object
npm install attach-middleware
var attachMiddleware = require('attach-middleware')
, x = {}
;
attachMiddleware(x, { useName: 'addMiddleware', runName: 'runMiddleware' });
x.addMiddleware(function (obj, next) {
console.log(obj);
obj.firstMiddleware = true;
next();
});
x.addMiddleware(function (obj, next) {
console.log(obj);
obj.secondMiddleware = true;
next();
});
x.runMiddleware({ hello: 'world' });
// { hello: 'world' }
// { hello: 'world', firstMiddleware: true }
Attach a use method and run method onto an object to enable middleware functionality
use method (default: 'use')run method (default: 'run')Add a middleware function to the 'stack'
If the function accepts more arguments than sent through run + 1, than it will be treated as error handling
middleware and the first argument will be an error.
If the function does not accept extra arguments and an error has occurred, than it will be bypassed
var obj = {};
attachMiddleware(obj);
obj.use(function (arg1, arg2, next) {
next('error');
});
obj.use(function (err, arg1, arg2, next) {
console.log(err); // 'error'
});
obj.run('foo', 'bar');
returns this
Send arguments through the middleware stack
If the last argument is a function, it is treated as a callback. This function should accept an err
and all arguments passed to .run (except the callback function)
returns this
The next or callback function passed to each middleware must be called to run the next middleware and
eventually, the callback. When calling next, the first argument should be an error or null. Any
additional arguments will overwrite the arguments for the rest of the middleware:
var obj = {};
attachMiddleware(obj);
obj.use(function (arg1, arg2, next) {
console.log(arg1, arg2); // 'foo', 'bar'
next(null, 'baz');
});
obj.use(function (err, arg1, arg2, next) {
console.log(err, arg1, arg2); // null, 'baz', 'bar'
});
obj.run('foo', 'bar');
FAQs
Attach middleware functionality onto an object
The npm package attach-middleware receives a total of 2 weekly downloads. As such, attach-middleware popularity was classified as not popular.
We found that attach-middleware 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
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.

Research
/Security News
Malicious dYdX client packages were published to npm and PyPI after a maintainer compromise, enabling wallet credential theft and remote code execution.

Security News
gem.coop is testing registry-level dependency cooldowns to limit exposure during the brief window when malicious gems are most likely to spread.