rprcli
Version:
Reaper.js is a powerful TypeScript-based framework designed to streamline backend development. It offers built-in database migrations, seeders, and SQL query utilities, making it easy to manage data efficiently. With native support for TSX and JSX renderi
25 lines (22 loc) • 797 B
JavaScript
const WebSocket = require("ws");
const logger = require("../utils/logger");
const port = process.env.SERVER_PORT?process.env.SERVER_PORT : 3000;
const routes = require("./routes")
module.exports = function newServer(APP,done=()=>{}) {
if(!APP)APP = require("./lib/load").APP;
const app = routes(APP);
const server = app.listen(port, () => {
done()
});
const wss = new WebSocket.Server({ noServer: true });
server.on("upgrade", (req, socket, head) => {
wss.handleUpgrade(req, socket, head, (ws) => {
ws.send("connected");
});
});
const closeWebsockets = ()=>{
wss.clients.forEach(client => client.terminate()); // Force-close all WebSocket clients
wss.close();
}
return{ server, closeWebsockets };
};