@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
63 lines • 4.39 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GrpcServer = void 0;
var grpc = __importStar(require("@grpc/grpc-js"));
var eps_grpc_pb_1 = require("../proto/build/eps_grpc_pb");
var eps_server_impl_1 = require("./eps-server-impl");
var eps_logger_1 = require("../../../../logging/eps-logger");
var GrpcServer = /** @class */ (function () {
function GrpcServer(extractorLaunchedEvent, apiOptions) {
this.extractorLaunchedEvent = extractorLaunchedEvent;
this.apiOptions = apiOptions;
}
GrpcServer.prototype.start = function (port) {
var _this = this;
return new Promise(function (resolve, reject) {
var options = {
'grpc.so_reuseport': 0, // 1 for enable and 0 to disable
};
var server = new grpc.Server(options);
server.addService(eps_grpc_pb_1.EpsService, new eps_server_impl_1.EpsServiceImpl(_this.extractorLaunchedEvent, _this.apiOptions));
//TODO: change createInsecure to be secure ?
server.bindAsync(
// only bind to localhost for now for minimum exposure
"127.0.0.1:".concat(port), grpc.ServerCredentials.createInsecure(), function (err, port) {
if (err) {
eps_logger_1.Logger.error("Failed to start gRPC server on port ".concat(port, ": ").concat(err.message));
reject(err.message);
}
else {
eps_logger_1.Logger.info("gRPC Server listening on port ".concat(port, "..."));
server.start();
resolve();
}
});
});
};
return GrpcServer;
}());
exports.GrpcServer = GrpcServer;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JwYy1zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZXBzL21haW4vYXBpL2dycGMvc2VydmVyL2dycGMtc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsa0RBQXFDO0FBQ3JDLDBEQUF1RDtBQUN2RCxxREFBa0Q7QUFDbEQsNkRBQXVEO0FBR3ZEO0lBSUUsb0JBQVksc0JBQW9DLEVBQUUsVUFBeUI7UUFDekUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFBO1FBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO0lBQzlCLENBQUM7SUFFRCwwQkFBSyxHQUFMLFVBQU0sSUFBWTtRQUFsQixpQkEwQkM7UUF6QkMsT0FBTyxJQUFJLE9BQU8sQ0FBTyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ3ZDLElBQU0sT0FBTyxHQUFHO2dCQUNkLG1CQUFtQixFQUFFLENBQUMsRUFBRSxnQ0FBZ0M7YUFDekQsQ0FBQTtZQUNELElBQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUV2QyxNQUFNLENBQUMsVUFBVSxDQUFDLHdCQUFVLEVBQUUsSUFBSSxnQ0FBYyxDQUFDLEtBQUksQ0FBQyxzQkFBc0IsRUFBRSxLQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtZQUUvRiw0Q0FBNEM7WUFDNUMsTUFBTSxDQUFDLFNBQVM7WUFDZCxzREFBc0Q7WUFDdEQsb0JBQWEsSUFBSSxDQUFFLEVBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsRUFDdkMsVUFBQyxHQUFpQixFQUFFLElBQVk7Z0JBQzlCLElBQUksR0FBRyxFQUFFO29CQUNQLG1CQUFNLENBQUMsS0FBSyxDQUFDLDhDQUF1QyxJQUFJLGVBQUssR0FBRyxDQUFDLE9BQU8sQ0FBRSxDQUFDLENBQUE7b0JBQzNFLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7aUJBQ3BCO3FCQUFNO29CQUNMLG1CQUFNLENBQUMsSUFBSSxDQUFDLHdDQUFpQyxJQUFJLFFBQUssQ0FBQyxDQUFBO29CQUN2RCxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7b0JBQ2QsT0FBTyxFQUFFLENBQUE7aUJBQ1Y7WUFDSCxDQUFDLENBQ0YsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNILGlCQUFDO0FBQUQsQ0FBQyxBQXBDRCxJQW9DQztBQXBDWSxnQ0FBVSJ9