!node !npm
!npm
- Introduction
- Installation
- Usage
- Usage as Util
- API
- Developing and Testing
- Contribution
wozu is a plugin in the form of a server decorator and an additional util to list all defined routes of your hapi.js server instance. Just call the server method and get a list of all endpoints including paths and methods.
wozu is the German translation for wherefore - it was implemented as an util related to the plugin wo.
The modules standard and ava are used to grant a high quality implementation.
| Major Release | hapi.js version | node version |
|---|---|---|
v4 |
>=18.4 @hapi/hapi |
>=12 |
v3.1 |
>=18.3.1 @hapi/hapi |
>=8 |
v3 |
>=18 hapi |
>=8 |
v2 |
>=17 hapi |
>=8 |
v1 |
>=13 hapi |
>=6 |
For installation use the Node Package Manager:
$ npm install --save wozu
or clone the repository:
$ git clone https://github.com/felixheck/wozu
First you have to import the module:
const wozu = require('wozu');Afterwards create your hapi server if not already done:
const hapi = require('@hapi/hapi');
const server = hapi.server({
port: 8888,
host: 'localhost',
});Additionally register all your routes.
Finally register the plugin per server.register():
await server.register(wozu);After registering wozu, the hapi server object will be decorated with the new method server.wozu().
It is not allowed to register wozu twice.
Use the plugin/util in the required context. For example during the registration of wo:
await server.register({
plugin: require('wo'),
options: {
bases,
route: server.wozu(),
sneeze: {
silent: true
}
}
})The method returns a sorted and unified list of all defined routes.
This package include besides the plugin a corresponding util feature, so it is not necessary to use wozu as a plugin:
const wozu = require('wozu');
const hapi = require('hapi');
const server = hapi.server({
port: 8888,
host: 'localhost',
});
(async () => {
await server.register({
plugin: require('wo'),
options: {
bases,
route: wozu.list(server),
sneeze: {
silent: true
}
}
})
})();wozu.list(server, [host])
server {Object}- the corresponding hapi server object.host {string|Array.<string>}- the host to filter routes matching a specific virtual host.
server.wozu([host])
host {string|Array.<string>}- the host to filter routes matching a specific virtual host.
First you have to install all dependencies:
$ npm install
To execute all unit tests once, use:
$ npm test
or to run tests based on file watcher, use:
$ npm start
To get information about the test coverage, use:
$ npm run coverage
Fork this repository and push in your ideas.
Do not forget to add corresponding tests to keep up 100% test coverage.
