sequenz composes connect middleware for nodejs
CoffeeScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
src
test
.gitignore
.travis.yml
LICENSE
README.md
package.json

README.md

sequenz

NPM Package Build Status codecov.io Downloads per Month

sequenz composes connect middleware for nodejs

sequenz makes a single middleware from multiple middlewares

install

npm install sequenz

use

a middleware is a function of three arguments: the request object req from the nodejs http server, the response objectres from the nodejs http server and a callback next. middleware handles the request and usually modifies the response. if a middleware doesn't end the request it should call next to give control to the next middleware.

the sequenz module exports a single function. that function either takes a single array of middlewares or any number of middlewares as separate arguments. it returns a new middleware that will call those middlewares in order.

example

the example uses some connect middleware and passage for routing.

var http = require('http');
var connect = require('connect');
var sequenz = require('sequenz');
var passage = require('passage');

var routes = sequenz(
    passage.get('/', function(req, res, next) {
        res.end('landing page');
    }),
    passage.get('/about', function(req, res, next) {
        res.end('about page');
    })
);

var middleware = sequenz(
    function(req, res, next) {
        console.log('i am a middleware that is called first on every request');
        next();
    },
    connect.favicon(),
    connect.bodyParser(),
    connect.cookieParser(),
    connect.query(),
    routes,
    function(req, res, next) {
        res.statusCode = 404;
        res.end('not found');
    }
);

var server = http.createServer(middleware);

server.listen(8080);

license: MIT