interface Env { KV: KVNamespace; } export const onRequest: PagesFunction = async ({ request }) => { const upgradeHeader = request.headers.get('Upgrade'); if (!upgradeHeader || upgradeHeader !== 'websocket') { return new Response('Expected Upgrade: websocket', { status: 426 }); } const webSocketPair = new WebSocketPair(); const [client, server] = Object.values(webSocketPair); server.accept(); server.addEventListener('message', (event) => { console.log(event.data); server.send(`server reponse after client sent ${event.data}`); }); server.send(`client sned`); return new Response(null, { status: 101, webSocket: client, }); };