wozu
v4.0.2
Published
Server decorator to list all defined hapi.js routes
Downloads
10
Maintainers
Readme
Server decorator and util to list all defined hapi.js routes
Introduction
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.
Compatibility
| 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
|
Installation
For installation use the Node Package Manager:
$ npm install --save wozu
or clone the repository:
$ git clone https://github.com/felixheck/wozu
Usage
Import
First you have to import the module:
const wozu = require('wozu');
Create hapi server
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.
Registration
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.
Usage
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.
Usage as Util
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
}
}
})
})();
API
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.
Developing and Testing
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
Contribution
Fork this repository and push in your ideas.
Do not forget to add corresponding tests to keep up 100% test coverage.