INNER CODE UNIT · TypeScript
createServerWebSocketServer
im4codes/imcodes · server/src/index.ts:356
export function createServerWebSocketServer(): WebSocketServer {
return new WebSocketServer({
noServer: true,
maxPayload: SERVER_WS_MAX_PAYLOAD_BYTES,
});
}
export function setupWebSocketUpgrade(server: import('node:http').Server, env: Env) {
const wss = createServerWebSocketServer();
// Compile trust function once — same proxy-addr library used by HTTP middleware
const wsTrust = proxyAddr.compile(
env.TRUSTED_PROXIES
? env.TRUSTED_PROXIES.split(',').map((s) => s.trim()).filter(Boolean)
: [],
);
server.on('upgrade', async (req: IncomingMessage, socket, head) => {
const url = new URL(req.url ?? '/', 'http://localhost');