4.0.2 • Published 3 years ago

wozu v4.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
3 years ago

wozu

Server decorator and util to list all defined hapi.js routes

Travis node npm standard npm

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 Releasehapi.js versionnode 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.

4.0.2

3 years ago

4.0.1

4 years ago

4.0.0

4 years ago

3.1.3

4 years ago

3.1.2

5 years ago

3.1.1

5 years ago

3.1.0

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.0.1

6 years ago

2.0.0

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago