22 lines
538 B
TypeScript
22 lines
538 B
TypeScript
import { getCookies } from "jsr:@std/http/cookie";
|
|
|
|
function getSessionId(request: Request): null | string {
|
|
getCookies(request.headers);
|
|
return null;
|
|
}
|
|
|
|
export default function (request: Request): Response {
|
|
if (request.headers.get("upgrade") !== "websocket") {
|
|
return new Response("Upgrade required.", { status: 426 });
|
|
}
|
|
|
|
const sessonId = getSessionId(request);
|
|
if (!sessonId) {
|
|
return new Response("Session requierd.", { status: 401 });
|
|
}
|
|
|
|
const { socket, response } = Deno.upgradeWebSocket(request);
|
|
|
|
return response;
|
|
}
|