1.1.2 • Published 6 years ago

hapi-kafka-plugin v1.1.2

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

Hapi Kafka Plugin

It's a plugin for Hapi.js with support until the version 16 that implement a Kafka client using node-rdkafka

Usage

Install Hapi Kafka Plugin using npm:

npm install --save hapi-kafka-plugin

To register the plugin you must require it

const KafkaPlugin = require('hapi-kafka-plugin')

Configuration

The plugin require some paremeteres listed bellow:

ParameterDescriptionTypeRequiredExample
hostKafka broker hoststringyeslocalhost or kafka (if you are using Docker)
portKafka broker portnumberyes9092
debugFlag that allows to the package write logs in consolebooleanno (default value: true)true or false
errorListenerListener for any error encounterfunctionno(eror) => { console.error('An error has been ocurred', error) }

How to use it

You have to register the plugin in the hapi.js server, and then your are going to have a property in the plugin's servers that allows you to access to the kafka producer connection.

const KafkaPlugin = require('hapi-kafka-plugin')

server.register({
  register: KafkaPlugin,
  options: {
    host: 'localhost',
    port: 9092,
  }
}).then(() => {
  console.log('Kafka has been started')

  // And now is available in the server
  server.plugins.kafka.producer(
    'topic',
    null,
    Buffer.from('hello world'),
    null,
    Date.now(),
  )
})

Tests

Before you run your tests, you have to run a Kafka container configured con Zookeper, you need to install Docker and then run the docker image of Kakfa

docker run -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=`docker-machine ip \`docker-machine active\`` --env ADVERTISED_PORT=9092 spotify/kafka

Tests are written in Jest to tests Javascript code.

npm test

Created with :heart: by Yalo