kermit-bunny-hole
v3.0.0
Published
Kermit wrapper around bunny-hole, a lib for inter-service communication via AMQP.
Downloads
50
Maintainers
Readme
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_VAR | kermit config | Description | |---|---|---| | BH_AMQP_HOST | bunnyHole.amqp.host | (optional) the amqp host to bind to. | | BH_AMQP_PORT | bunnyHole.amqp.port | (optional) the amqp port to bind to. | | BH_AMQP_USER | bunnyHole.amqp.username | (optional) the amqp user. | | BH_AMQP_PASS | bunnyHole.amqp.password | (optional) the amqp user's password. | | BH_AMQP_EXCHANGE | bunnyHole.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.