$ cnpm install attach-ware
Middleware with configuration.
npm:
npm install attach-ware
x.js:
module.exports = x
function x(ctx, options) {
return options.condition ? transform : null
function transform(req, res, next) {
res.x = 'hello'
next()
}
}
y.js:
module.exports = y
function y(ctx, options) {
return options.condition ? transform : null
function transform(req, res, next) {
res.y = 'world'
next()
}
}
index.js:
var ware = require('attach-ware')(require('ware'))
var x = require('./x')
var y = require('./y')
var middleware = ware()
.use(x, {condition: true})
.use(y, {condition: false})
middleware.run({}, {}, done)
function done(err, req, res) {
if (err) throw err
console.log(res.x) // => "hello"
console.log(res.y) // => undefined
}
AttachWare = attachWare(Ware)Create a new AttachWare based on the given middleware constructor.
Ware (Ware)Function.
AttachWare()Create configurable middleware.
Works just like the given Ware.
AttachWare#use(attacher[, input...])attachWare.use(attacher[, input...])attachWare.use(attachers[, input...])attachWare.use(list)attachWare.use(matrix)attacher (Function) — One attacherattachers (Array.<Function>)
— List where each value is an attacherlist (Array)
— List where the first value is an attacher, and further values
are inputmatrix (Array)
— Matrix where each entry is a listInvokes attacher with context and all input.
If attacher returns another function (fn, which can be synchronous,
asynchronous, or a generator function), that function is added to the
middleware, and will be invoked when run() is invoked
like normal middleware.
AttachWare#contextThe first argument for attachers.
When this is falsey, the instance itself is used.
Copyright 2013 - present © cnpmjs.org