Skip to main content
Module

x/http_server/lib/utils/upgrade.ts

🌐 Light-weight http server
Go to Latest
File
import { Data } from '../data/data.ts';
/** * Upgrade the request to a websocket connection. * * @param data - The request data to upgrade. * @example * upgrade(data); * * @returns A socket if the upgrade was successful, otherwise null.*/export function upgrade(data: Data): WebSocket | null { if (data.request.headers['upgrade'] != 'websocket') return null;
const request = new Request(data.request.url.href, { headers: data.request.headers, });
const { socket, response } = Deno.upgradeWebSocket(request); data.respond({ body: response as unknown as string });
return socket;}