@crowdin/app-project-module
Version:
Module that generates for you all common endpoints for serving standalone Crowdin App
31 lines (30 loc) • 992 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = __importDefault(require("express"));
const terminus_1 = require("@godaddy/terminus");
const job_1 = require("../modules/integration/util/job");
express_1.default.application.baseListen = express_1.default.application.listen;
express_1.default.application.listen = function (...args) {
const [config, callback] = args;
let port;
if (typeof config === 'object') {
port = config.port;
(0, job_1.reRunInProgressJobs)(config);
}
else {
port = config;
}
const server = this.baseListen.call(this, port);
if (callback) {
callback();
}
(0, terminus_1.createTerminus)(server, {
timeout: Infinity,
useExit0: true,
});
return server;
};
exports.default = express_1.default;