Skip to content

Commit

Permalink
move websocket server intialization to utils
Browse files Browse the repository at this point in the history
  • Loading branch information
edivados committed Jan 27, 2024
1 parent 3cef0b4 commit 16100eb
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 6 deletions.
7 changes: 7 additions & 0 deletions global.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { ViteDevServer } from "vite";

declare module 'nitropack/types' {
interface NitroApp {
viteDevServer?: ViteDevServer
}
}
4 changes: 1 addition & 3 deletions routes/ws.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
export default lazyEventHandler(async () => {
const ws = new (await import("ws")).WebSocketServer({ noServer: true });
return eventHandler((event) => {
event.context.ws = ws;
if (event.headers.get("upgrade") !== "websocket") {
sendWebResponse(event, new Response(null, { status: 426 }));
return;
}
ws.handleUpgrade(event.node.req, event.node.req.socket, Buffer.alloc(0), (client) => {
useWebsocketServer().handleUpgrade(event.node.req, event.node.req.socket, Buffer.alloc(0), (client) => {
console.log("connected");
});
event._handled = true;
Expand Down
2 changes: 1 addition & 1 deletion runtime/dev-handler.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export default lazyEventHandler(async () => {
return fromNodeMiddleware(useNitroApp().vite.middlewares);
return fromNodeMiddleware(useNitroApp().viteDevServer.middlewares);
});
4 changes: 2 additions & 2 deletions runtime/dev-server-plugin.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export default defineNitroPlugin(async (nitroApp) => {
export default defineNitroPlugin(async nitroApp => {
const { createServer } = await import("vite");
nitroApp.vite = await createServer({
nitroApp.viteDevServer = await createServer({
configFile: false,
root: "./client",
server: {
Expand Down
7 changes: 7 additions & 0 deletions utils/ws.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { WebSocketServer } from "ws";

const server = new WebSocketServer({ noServer: true });

export function useWebsocketServer() {
return server;
}

0 comments on commit 16100eb

Please sign in to comment.