59 lines
2.3 KiB
JavaScript
59 lines
2.3 KiB
JavaScript
"use strict";
|
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
var t = {};
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
t[p] = s[p];
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
t[p[i]] = s[p[i]];
|
|
}
|
|
return t;
|
|
};
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.PeerServer = exports.ExpressPeerServer = void 0;
|
|
const express_1 = __importDefault(require("express"));
|
|
const http_1 = __importDefault(require("http"));
|
|
const https_1 = __importDefault(require("https"));
|
|
const config_1 = __importDefault(require("./config"));
|
|
const instance_1 = require("./instance");
|
|
function ExpressPeerServer(server, options) {
|
|
const app = express_1.default();
|
|
const newOptions = Object.assign(Object.assign({}, config_1.default), options);
|
|
if (newOptions.proxied) {
|
|
app.set("trust proxy", newOptions.proxied === "false" ? false : !!newOptions.proxied);
|
|
}
|
|
app.on("mount", () => {
|
|
if (!server) {
|
|
throw new Error("Server is not passed to constructor - " +
|
|
"can't start PeerServer");
|
|
}
|
|
instance_1.createInstance({ app, server, options: newOptions });
|
|
});
|
|
return app;
|
|
}
|
|
exports.ExpressPeerServer = ExpressPeerServer;
|
|
function PeerServer(options = {}, callback) {
|
|
const app = express_1.default();
|
|
let newOptions = Object.assign(Object.assign({}, config_1.default), options);
|
|
const port = newOptions.port;
|
|
const host = newOptions.host;
|
|
let server;
|
|
const { ssl } = newOptions, restOptions = __rest(newOptions, ["ssl"]);
|
|
if (ssl && Object.keys(ssl).length) {
|
|
server = https_1.default.createServer(ssl, app);
|
|
newOptions = restOptions;
|
|
}
|
|
else {
|
|
server = http_1.default.createServer(app);
|
|
}
|
|
const peerjs = ExpressPeerServer(server, newOptions);
|
|
app.use(peerjs);
|
|
server.listen(port, host, () => callback === null || callback === void 0 ? void 0 : callback(server));
|
|
return peerjs;
|
|
}
|
|
exports.PeerServer = PeerServer;
|