$ 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 attacher
list
(Array
)
— List where the first value is an attacher
, and further values
are input
matrix
(Array
)
— Matrix where each entry is a list
Invokes 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#context
The first argument for attach
ers.
When this is falsey, the instance itself is used.
Copyright 2013 - present © cnpmjs.org