@aofl/middleware
Simple base middleware class.
Api Documentation
Installation
npm i -S @aofl/middleware
Methods
Name | Arguments | Description |
---|
constructor | ...[String] | Define any number of middleware hooks. E.g. new Middleware('before', 'after', ...) |
use | cb[Function], hook[String] | Register a middleware |
iterateMiddleware | request[Object], hook[String], response[Object] | Iterate middleware for a given hook |
Example
const matchRoutes = (request, response, next) => {
next(response, [err || null]);
};
class Router {
constructor() {
this.middleware = new Middleware('before', 'after');
this.before(matchRoutes);
this.after(updateView);
}
before(fn) {
this.middleware.use(fn, 'before');
}
after(fn) {
this.middleware.use(fn, 'after');
}
async navigate(request) {
const beforeResponse = await this.middleware.iterateMiddleware(request, 'before', Object.assign({}, request));
await this.middleware.iterateMiddleware(request, 'after', beforeResponse);
}
}