UNPKG

@fpjs-incubator/broyster

Version:
44 lines (43 loc) 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.calculateHttpsPort = exports.createServer = void 0; const http_1 = require("http"); const https_1 = require("https"); const util_1 = require("util"); function createServer(...args) { const httpServer = (0, http_1.createServer)(...args); const httpsServer = (0, https_1.createServer)(...args); return { // eslint-disable-next-line @typescript-eslint/no-explicit-any on(event, args) { httpServer.on(event, args); httpsServer.on(event, args); }, // eslint-disable-next-line @typescript-eslint/no-explicit-any listen(server, callback) { const port = parseInt(new URL(server._connectionKey.replace('4:', 'http://')).port); Promise.all([ (0, util_1.promisify)(httpServer.listen.bind(httpServer, server))(), (0, util_1.promisify)(httpsServer.listen.bind(httpsServer, calculateHttpsPort(port)))(), ]).then(() => callback === null || callback === void 0 ? void 0 : callback(), callback); }, listeners(listener) { return httpServer.listeners(listener); }, removeAllListeners(listener) { httpServer.removeAllListeners(listener); httpsServer.removeAllListeners(listener); }, close(callback) { Promise.all([ (0, util_1.promisify)(httpServer.close.bind(httpServer))(), (0, util_1.promisify)(httpsServer.close.bind(httpsServer))(), ]).then(() => callback === null || callback === void 0 ? void 0 : callback(), callback); }, }; } exports.createServer = createServer; function calculateHttpsPort(port) { return port + 1; } exports.calculateHttpsPort = calculateHttpsPort;