middleware-handler

Manager for custom middlewares

MiddlewareHandler manages custom middlewares in the same way as how Express/Connect does.

var MiddlewareHandler = require('middleware-handler');
 
handler = new MiddlewareHandler();
handler.use(function(abnext()) {
  console.log(a, b); // foo bar 
  next();
});
handler.handle(['foo', 'bar']);
$npm install middleware-handler

middleware accepts variable arguments and a callback.

handler = new MiddlewareHandler();
handler.use(function(argnext) {
  var err;
  // do some stuff 
  next(err); // optionally accepts an error object 
});

Clear all middlewares from the stack.

handler = new MiddlewareHandler();
handler.use(function() {});
console.log(handler.stack.length); // 1 
 
handler.clear();
console.log(handler.stack.length); // 0 

Invoke middlewares.

handler = new MiddlewareHandler();
handler.use(function(abnext) {
  console.log(a, b); // foo bar 
  next();
});
handler.handle(['foo', 'bar'], function(err) {
  // after calling all middlewares 
});

Create a function that invokes middlewares.

handler = new MiddlewareHandler();
handler.use(function(abnext) {
  console.log(a, b); // foo bar 
  next();
});
 
var fn = handler.compose(function(err) {
    // after calling all middlewares 
  });
fn('foo', 'bar');

Create a function that invokes the passed middlewares.

function middleware(abnext) {
  console.log(a, b); // foo bar 
  next();
}
 
var fn = MiddlewareHandler.compose(middleware, function(ab) {
    console.log(a, b); // foo bar 
  });
fn('foo', 'bar');