@aofl/middleware
Advanced tools
Comparing version 2.0.0-alpha.5 to 2.0.0-alpha.16
@@ -7,3 +7,3 @@ /** | ||
import Middleware from './src/Middleware'; | ||
import Middleware from './modules/Middleware'; | ||
@@ -10,0 +10,0 @@ export { |
{ | ||
"name": "@aofl/middleware", | ||
"version": "2.0.0-alpha.5", | ||
"version": "2.0.0-alpha.16", | ||
"description": "Simple base middleware class", | ||
@@ -24,3 +24,3 @@ "main": "index.js", | ||
}, | ||
"gitHead": "00d91514e0c953e8cd998150ed5705b87db20b39" | ||
"gitHead": "0b6aa717a40d408713b5b981754243de8a8aeb55" | ||
} |
@@ -5,5 +5,2 @@ # @aofl/middleware | ||
## Examples | ||
* https://stackblitz.com/edit/1-0-0-middleware?embed=1 | ||
## Installation | ||
@@ -16,5 +13,41 @@ ```bash | ||
| Name | Arguments | Description | | ||
| ------------------ | ----------------------------------------------- | ----------------------------------- | | ||
| use | cb[Function], hook[String] | Register a middleware | | ||
| iterateMiddleware | request[Object], hook[String], response[Object] | Iterate middleware for a given hook | | ||
| 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 | ||
```js | ||
const matchRoutes = (request, response, next) => { | ||
// match route logic based on request and response | ||
next(response); // next should be called to process the next middleware function in the queue. Otherwise, the operation stops. | ||
}; | ||
class Router { | ||
constructor() { | ||
// other initialization logic | ||
this.middleware = new Middleware('before', 'after'); | ||
this.before(matchRoutes); // register matchRoutes middleware | ||
this.after(updateView); // register updateView Middleware | ||
} | ||
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)); // middleware functions expect request, and optional response | ||
await this.middleware.iterateMiddleware(request, 'after', beforeResponse); | ||
} | ||
// ... other Router logic | ||
} | ||
``` |
@@ -1,2 +0,2 @@ | ||
import Middleware from '../src/Middleware'; | ||
import Middleware from '../modules/Middleware'; | ||
@@ -3,0 +3,0 @@ /* eslint-disable */ |
7601
52