adonis-grpc-consumer
Version:
Adonis gRPC client provider for easily communicate with gRPC services
27 lines (26 loc) • 879 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class GrpcConsumerProvider {
constructor(app) {
this.app = app;
}
/**
* Register the grpc consumer binding
*/
register() {
const config = this.app.container.resolveBinding('Adonis/Core/Config').get('grpc-consumer', {});
this.app.container.singleton('Adonis/Addons/GrpcConsumer', () => {
const { GrpcConsumer } = require('../src/GrpcConsumer');
return new GrpcConsumer(config);
});
}
/**
* Gracefully close all grpc active connections
*/
async shutdown() {
const grpcConsumer = this.app.container.use('Adonis/Addons/GrpcConsumer');
await grpcConsumer.closeAll();
}
}
exports.default = GrpcConsumerProvider;
GrpcConsumerProvider.needsApplication = true;