3.0.0 • Published 7 years ago

kermit-bunny-hole v3.0.0

Weekly downloads
-
License
BSD-2-Clause
Repository
gitlab
Last release
7 years ago

Kermit Module

kermit-bunny-hole - 0.1.1

The kermit-bunny-hole node module is a kermit wrapper around the bunny-hole library for inter-service communication via AMQP.

Install

$ npm install --save kermit-bunny-hole

Configuration

Add the service to your kermit application config file:

{
  app: {
    services: {
      bunnyHole: 'kermit-bunny-hole/BunnyHoleService'
    }
  }
}

You can now configure your bunny-hole by environment variables and/or kermit service config.

ENV_VARkermit configDescription
BH_AMQP_HOSTbunnyHole.amqp.host(optional) the amqp host to bind to.
BH_AMQP_PORTbunnyHole.amqp.port(optional) the amqp port to bind to.
BH_AMQP_USERbunnyHole.amqp.username(optional) the amqp user.
BH_AMQP_PASSbunnyHole.amqp.password(optional) the amqp user's password.
BH_AMQP_EXCHANGEbunnyHole.amqp.eventExchangeName(optional) the amqp exchange name.
-bunnyHole.logger(optional) a service key referencing the logging service to inject into the bunny-hole

Use

The bunny hole kermit service proxies all public methods and events of the bunny-hole. So in your application you would write something like:

launch() {
  super.launch();

  let bunnyHole = this.serviceManager.get('bunnyHole');
  
  bunnyHole.on('ready', () => {
    bunnyHole.expose('my/rpc/endpoint', () => {
      // callback
    });
    
    bunnyHole.call('my/other/rpc/endpoint', {param: 'value'}, () => {
      // callback
    });
    
    bunnyHole.emitEvent('my/event', {param: 'value'});
    
    bunnyHole.listenEvent('my/other-event', () => {
      // callback
    });
  });
  
  bunnyHole.on('error', (msg) => {
    console.error(`Oops an error occured on the bunny-hole: ${msg}`);
  });
}

LICENSE

The files in this archive are released under BSD-2-Clause license. You can find a copy of this license in LICENSE.

3.0.0

7 years ago

2.0.0

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.1.1

8 years ago

0.1.0

8 years ago