
wrangler dev process for itIs there any documentation about what features in sqlite are available within the DO context? Is it safe to assume all the big ones like views, triggers, etc.?
get(...) method. So, it's 1 extra line among tens/hundreds.get(...)const doid = env.MY_DO.idFromString(user_id)
const stub = env.MY_DO.get(doid)const stub = env.MY_DO.get(user_id) // ID
// or, for names
const stub = env.MY_DO.get(user_id, "name") // like KV's type// Global list to store all active WebSocket connections
const clients = new Set();
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(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);
// Add the new connection to the global list
clients.add(server);
server.accept();
// Handle incoming messages
server.addEventListener('message', event => {
console.log('Message received from client:', event.data);
// Broadcast the message to all connected clients
clients.forEach(client => {
if (client !== server && client.readyState === WebSocket.OPEN) {
client.send(`Broadcast: ${event.data}`);
}
});
});
// Handle connection close
server.addEventListener('close', () => {
console.log('Client disconnected');
// Remove the connection from the global list
clients.delete(server);
});
return new Response(null, {
status: 101,
webSocket: client,
});
}