UNPKG

@saniot/kafka-header-helper

Version:

A package which help in making consistent kafka header.

43 lines (39 loc) 1.14 kB
const { serviceDetails } = require("./config"); /** * header for kafka payload * @param {String} service_name - Value of service name * @returns {Object} */ exports.kafkaHeader = function (service_name) { return { service_name, host_name: serviceDetails.host_name, host_ip: serviceDetails.host_ip, pid: process.pid, }; }; /** * It add header in all kafka messages. * @param {Array} payloads - kafka payload * @param {*} service_name - service name to add * @returns {Array} */ exports.addHeader = function (payloads, service_name) { if (!payloads || !Array.isArray(payloads)) throw new Error("Excepting an Array as payloads"); return payloads.map((payload) => { if ( typeof payload === "object" && payload !== null && !Array.isArray(payload) ) { payload.headers = { service_name, host_name: serviceDetails.host_name, host_ip: serviceDetails.host_ip, pid: process.pid.toString(), }; } return payload; }); };