async-middleware-stack
Simple middleware controller. Like express, but async.
Usage
const Stack = const stack = // Add middleware function to the stackstack // Run the stackconst req = /** usual node.js req object **/ const res = /** ^^^^ **/ try await stack catch err // middleware chain broken, so you prolly don't wanna proceed.
To break the stack chain, simply return any truthy value. stack.run
will then
return false
.
API
new Stack(config)
Returns a Stack controller.
(optional) config
options:
Argument | Description | Default |
---|---|---|
middleware | Existing array of functions to base the stack on | None |
stack.use(route, fn, method)
Adds a function to the middleware stack.
Argument | Description | Default |
---|---|---|
route | URL to limit the function to. If first arg is a function, it'll be considered as fn , NOT as route . |
'*' |
fn | Function to execute with req , res , opitonal objects. |
None |
fn | RESTful method to limit the function to. Default accepts any. | '*' |
stack.run(req, res, optional)
Returns a promise resolving with
true
when all functions are done running
Argument | Description | Default |
---|---|---|
req | Request object from node.js/express. Must have url property. |
None |
res | Response object from node.js/express. | None |
optional | Optional object to pass to every function. | None |