diff --git a/deno.json b/deno.json index 372b7f3..708bdef 100644 --- a/deno.json +++ b/deno.json @@ -1,6 +1,6 @@ { "name": "@deco/warp", - "version": "0.2.6", + "version": "0.2.7", "exports": "./mod.ts", "tasks": { "check": "deno fmt && deno lint && deno check mod.ts" diff --git a/server.ts b/server.ts index a5b71f1..0818a7d 100644 --- a/server.ts +++ b/server.ts @@ -82,17 +82,18 @@ export const serveHandler = ( const url = new URL(req.url); if (url.pathname === connectPath) { const { socket, response } = Deno.upgradeWebSocket(req); + const clientVersion = url.searchParams.get(CLIENT_VERSION_QUERY_STRING); + const chPromise = clientVersion === null + ? makeWebSocket( + socket, + jsonSerializer(), + ) + : makeWebSocket( + socket, + dataViewerSerializer(), + ); (async () => { - const clientVersion = url.searchParams.get(CLIENT_VERSION_QUERY_STRING); - const ch = clientVersion === null - ? await makeWebSocket( - socket, - jsonSerializer(), - ) - : await makeWebSocket( - socket, - dataViewerSerializer(), - ); + const ch = await chPromise; const clientId = crypto.randomUUID(); const hosts: string[] = []; const state: ServerConnectionState = {