File
Constructor
constructor(httpService: HttpService)
|
|
Parameters :
Name |
Type |
Optional |
httpService |
HttpService
|
No
|
|
Methods
Async
sendMessage
|
sendMessage(message: A, topic: B)
|
|
Type parameters :
|
Parameters :
Name |
Type |
Optional |
message |
A
|
No
|
topic |
B
|
No
|
Returns : unknown
|
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);
}
}
}