A generic middleware manager, inspired by Connect. Instead of using routes, you can use any category you need.
npm install middlebot
// Instantiate middlebot.
var app = require('middlebot')();
// Middleware example.
var middleware = function(req, res, next) {
// Do stuff here...
next();
// If there was an error call next with an error object.
next('oups !');
// Middlewares execution can be stop this way.
res.end();
}
// Error middleware example, only called when a previous middleware
//sent an error or throwed an exception
var errorMiddleware = function(err, req, res, next) {
//handle error...
//calls following error middlewares
next(err);
//next can be called without err to ignore error and resume
//normal middleware execution
next();
}
// Register middleware to be called when ‘myMiddlewares’ is handled.
app.use('myMiddlewares', middleware);
// Middleware can be registered for mutiple types at once.
app.use(['myMiddleWares, myOtherMiddlewares'], middleware);
// Multiple middlewares can be registered at once.
app.use('myMiddleWares', middleware, anotherMiddleware);
// Request and response objects.
var req = {};
var res = {};
// Called once all middlewares are handled.
var done = function (err, req, res) {
if (err) console.log('error in one of the middleware');
console.log('middleware executed correctly');
}
// Handle all middlewares registered for ‘myMiddleWares’ with req and res.
app.handle('myMiddleWares', req, res, done);
npm test
MIT