Files
crossws/examples/h3/app.ts
2024-01-29 17:31:21 +01:00

35 lines
756 B
TypeScript

import { createApp, createRouter, eventHandler } from "h3";
import { defineWebSocketHooks } from "crossws";
const router = createRouter();
export const app = createApp().use(router);
router.get(
"/",
eventHandler(() =>
import("./index.html").then((r) => r.html({ name: "h3" })),
),
);
// Listhen automatically sets up ws integration!
export const websocket = defineWebSocketHooks({
open(peer) {
console.log("[ws] open", peer);
},
message(peer, message) {
console.log("[ws] message", peer, message);
if (message.text().includes("ping")) {
peer.send("pong");
}
},
close(peer, event) {
console.log("[ws] close", peer, event);
},
error(peer, error) {
console.log("[ws] error", peer, error);
},
});