ayushkokande's picture
Upload folder using huggingface_hub
4ce3e23 verified
Raw
History Blame Contribute Delete
1.19 kB
import { createServer } from "node:http";
import { parse } from "node:url";
import next from "next";
import { WebSocketServer } from "ws";
import { setupWsHandlers } from "./ws-handlers";
const dev = process.env.NODE_ENV !== "production";
const port = Number(process.env.PORT) || 3000;
const hostname = "0.0.0.0";
const app = next({ dev, hostname, port });
const handle = app.getRequestHandler();
app.prepare().then(() => {
const upgradeHandler = app.getUpgradeHandler();
const server = createServer((req, res) => {
const parsedUrl = parse(req.url || "/", true);
handle(req, res, parsedUrl);
});
const wss = new WebSocketServer({ noServer: true });
setupWsHandlers(wss);
server.on("upgrade", (req, socket, head) => {
const { pathname } = parse(req.url || "/");
if (pathname === "/_ws") {
wss.handleUpgrade(req, socket, head, (ws) => {
wss.emit("connection", ws, req);
});
} else {
// Let Next handle its own upgrades (e.g. /_next/webpack-hmr in dev).
upgradeHandler(req, socket, head);
}
});
server.listen(port, hostname, () => {
console.log(`> Ready on http://${hostname}:${port} (ws path /_ws)`);
});
});