UNPKG

@bee.js/node

Version:

A JavaScript framework for making Node.js API´s

58 lines (43 loc) 1.54 kB
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; };