Skip to content
This repository has been archived by the owner on Apr 29, 2019. It is now read-only.

snd/sequenz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

sequenz composes connect middleware for nodejs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published