File

src/provider/kafka-api/kafka-api.service.ts

Index

Properties
Methods

Constructor

constructor(httpService: HttpService)
Parameters :
Name Type Optional
httpService HttpService No

Methods

Async sendMessage
sendMessage(message: A, topic: B)
Type parameters :
  • A
  • B
Parameters :
Name Type Optional
message A No
topic B No
Returns : unknown

Properties

Private Readonly logger
Default value : new Logger(KafkaApiService.name)
import { Injectable, Logger } from '@nestjs/common';
import { configENV } from 'config-env';
import { HttpService } from '@nestjs/axios';

const { url_kafka_api, token_api_kafka } = configENV;

@Injectable()
export class KafkaApiService {
  private readonly logger = new Logger(KafkaApiService.name);
  constructor(private readonly httpService: HttpService) {}

  async sendMessage<A, B>(message: A, topic: B) {
    try {
      this.logger.debug('url_kafka_api >>>', url_kafka_api);
      this.logger.debug('message >>>', message);
      this.logger.debug('topic >>>', topic);
      return await this.httpService.axiosRef.post(
        `${url_kafka_api}/producer`,
        { data: message, topic },
        {
          headers: {
            token: token_api_kafka,
          },
        },
      );
    } catch (error) {
      this.logger.error(error);
      throw new Error(error.message);
    }
  }
}

results matching ""

    No results matching ""