create-moost
Version:
44 lines (38 loc) • 972 B
text/typescript
import { Upgrade } from "@moostjs/event-http";
import {
Connect,
ConnectionId,
Disconnect,
Message,
MessageData,
WooksWs,
} from "@moostjs/event-ws";
import { Controller, Param } from "moost";
/**
* `WsController` handles the WebSocket upgrade route
* and WebSocket message/connection events.
*
* The @Upgrade decorator registers an HTTP route that upgrades
* the connection to WebSocket. Message handlers use the
* @Message decorator to handle incoming WebSocket messages.
*/
()
export class WsController {
constructor(private ws: WooksWs) {}
("ws")
handleUpgrade() {
return this.ws.upgrade();
}
()
onConnect(() id: string) {
console.log(`WS client connected: ${id}`);
}
("message")
onMessage(() data: unknown) {
return { echo: data };
}
()
onDisconnect(() id: string) {
console.log(`WS client disconnected: ${id}`);
}
}