@tsed/common
Version:
A TypeScript Framework on top of Express
36 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.listenHttpsServer = exports.createHttpsServer = void 0;
const tslib_1 = require("tslib");
const di_1 = require("@tsed/di");
const https_1 = tslib_1.__importDefault(require("https"));
const platform_1 = require("../../platform");
const httpsServer_1 = require("../decorators/httpsServer");
const listenServer_1 = require("./listenServer");
function createHttpsServer(injector) {
injector.forkProvider(httpsServer_1.HttpsServer);
}
exports.createHttpsServer = createHttpsServer;
di_1.registerProvider({
provide: httpsServer_1.HttpsServer,
deps: [platform_1.PlatformApplication, di_1.Configuration],
scope: di_1.ProviderScope.SINGLETON,
global: true,
useFactory(platformApplication, settings) {
const options = settings.httpsOptions;
return https_1.default.createServer(options, platformApplication.callback());
}
});
async function listenHttpsServer(injector) {
const { settings } = injector;
const server = injector.get(httpsServer_1.HttpsServer);
if (settings.httpsPort !== false && server) {
const { address, port } = settings.getHttpsPort();
injector.logger.debug(`Start server on https://${address}:${port}`);
const options = await listenServer_1.listenServer(server, { address, port });
settings.setHttpsPort(options);
injector.logger.info(`Listen server on https://${options.address}:${options.port}`);
}
}
exports.listenHttpsServer = listenHttpsServer;
//# sourceMappingURL=createHttpsServer.js.map