middleware-handler

Manager for custom middlewares

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
middleware-handler
0.2.09 years ago9 years agoMinified + gzip package size for middleware-handler in KB

Readme

MiddlewareHandler ##

Build Status
MiddlewareHandler manages custom middlewares in the same way as how Express/Connect does.
var MiddlewareHandler = require('middleware-handler');

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

Installation ###

$npm install middleware-handler

Documentation ###

use(middleware) ####

``middleware`` accepts variable arguments and a callback.
handler = new MiddlewareHandler();
handler.use(function(arg, next) {
  var err;
  // do some stuff
  next(err); // optionally accepts an error object
});

clear() ####

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

handle(args, callback) ####

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

compose(callback) ####

Create a function that invokes middlewares.
handler = new MiddlewareHandler();
handler.use(function(a, b, next) {
  console.log(a, b); // foo bar
  next();
});

var fn = handler.compose(function(err) {
    // after calling all middlewares
  });
fn('foo', 'bar');

compose(middlewares...) ####

Create a function that invokes the passed middlewares.
function middleware(a, b, next) {
  console.log(a, b); // foo bar
  next();
}

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