@tsed/common
Version:
A TypeScript Framework on top of Express
35 lines • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.listenHttpServer = exports.createHttpServer = void 0;
const tslib_1 = require("tslib");
const di_1 = require("@tsed/di");
const http_1 = tslib_1.__importDefault(require("http"));
const platform_1 = require("../../platform");
const httpServer_1 = require("../decorators/httpServer");
const listenServer_1 = require("./listenServer");
function createHttpServer(injector) {
injector.forkProvider(httpServer_1.HttpServer);
}
exports.createHttpServer = createHttpServer;
di_1.registerProvider({
provide: httpServer_1.HttpServer,
deps: [platform_1.PlatformApplication],
scope: di_1.ProviderScope.SINGLETON,
global: true,
useFactory(platformApplication) {
return http_1.default.createServer(platformApplication.callback());
}
});
async function listenHttpServer(injector) {
const { settings } = injector;
const server = injector.get(httpServer_1.HttpServer);
if (settings.httpPort !== false && server) {
const { address, port } = settings.getHttpPort();
injector.logger.debug(`Start server on http://${address}:${port}`);
const options = await listenServer_1.listenServer(server, { address, port });
settings.setHttpPort(options);
injector.logger.info(`Listen server on http://${options.address}:${options.port}`);
}
}
exports.listenHttpServer = listenHttpServer;
//# sourceMappingURL=createHttpServer.js.map