A simple http module system for node.js applications, similar to connect, or the more basic stack.
Stackr does not supply any middleware, it just provides an easy interface for composing a middleware stack.
Stackr can be required like any other node module:
var stackr = require('stackr');
You can construct a stack by passing middleware to the stackr
constructor as arguments:
var stack = stackr(
require('logger')(),
require('static')(root, mount)
);
or by calling use
on the stack:
var stack = stackr()
.use(require('logger')())
.use(require('static')(root, mount));
Your stack can be used to create an http server:
require('http').createServer(stackr(
require('logger')(),
require('static')(root, mount)
)).listen(1337);
Substacks provide a simple way to compose more complex stacks:
var substack = stackr.substack(
require('logger')()
);
var stack = stackr(
substack,
require('auth')()
);
substack.use(require('static')(root, mount));
In the above example the execution order will be logger
, static
, then auth
because the entire substack will execute before anything that follows it in the outer stack.