Skip to content

Commit

Permalink
feat(dev): expose upgrade handler
Browse files Browse the repository at this point in the history
  • Loading branch information
pi0 committed Feb 25, 2024
1 parent 25a79c9 commit 5374429
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions src/dev/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ export interface NitroDevServer {
app: App;
close: () => Promise<void>;
watcher?: FSWatcher;
upgrade: (req, socket, head) => void;
}

function initWorker(filename: string): Promise<NitroWorker> | null {
Expand Down Expand Up @@ -242,20 +243,25 @@ export function createDevServer(nitro: Nitro): NitroDevServer {
})
);

// Upgrade handler
const upgrade = (req, socket, head) => {
return proxy.proxy.ws(
req,
socket,
{
target: getWorkerAddress(),
xfwd: true,
},
head
);
};

// Listen
let listeners: Listener[] = [];
const _listen: NitroDevServer["listen"] = async (port, opts?) => {
const listener = await listen(toNodeListener(app), { port, ...opts });
listener.server.on("upgrade", (req, sock, head) => {
proxy.proxy.ws(
req,
sock as any,
{
target: getWorkerAddress(),
xfwd: true,
},
head
);
upgrade(req, sock, head);
});
listeners.push(listener);
return listener;
Expand Down Expand Up @@ -285,6 +291,7 @@ export function createDevServer(nitro: Nitro): NitroDevServer {
app,
close,
watcher,
upgrade,
};
}

Expand Down

0 comments on commit 5374429

Please sign in to comment.