@bee.js/node
Version:
A JavaScript framework for making Node.js API´s
58 lines (43 loc) • 1.54 kB
JavaScript
const log = require("./log");
const beeDEV = require("../DEV/beeDEV");
const bodyParser = require('body-parser');
const http = require("http");
const https = require("https");
const fs = require("fs");
const WebSocket = require("ws");
const servers = { http: null, https: null };
module.exports = function (app, options = {}) {
if (process.argv.includes("--dev"))
app.post("/beedev/:action", bodyParser.json(), beeDEV);
const ports = (global.configs.port || global.configs.ports || 1987.443)
.toString()
.split(".");
servers.http = http.createServer(app);
if (options.ws) {
const ws = new WebSocket.Server({ server: servers.http });
options.ws({ ws });
}
servers.http.listen(ports[0]);
log(`${configs.name || "Bee.js"} started.`);
log(`${configs.name || "System"} listening at http://localhost:${ports[0]}`);
if (ports.length === 1) return;
const certificate = fs.existsSync(
require.main.path + "/server/certificate/cert.pem"
)
? {
key: fs.readFileSync(require.main.path + "/server/certificate/key.pem"),
cert: fs.readFileSync(
require.main.path + "/server/certificate/cert.pem"
),
passphrase: "beejs.org",
}
: {};
servers.https = https.createServer(certificate, app);
if (options.ws) {
const wss = new WebSocket.Server({ server: servers.https });
options.ws({ ws: wss });
}
servers.https.listen(ports[1]);
log(`${configs.name || "Bee.js"} listening at https://localhost:${ports[1]}`);
return servers;
};