WebSocket
Eden Treaty supports WebSocket using subscribe method.
typescript
import { Elysia, t } from "elysia";
import { treaty } from "@elysiajs/eden";
const app = new Elysia()
.ws("/chat", {
body: t.String(),
response: t.String(),
message(ws, message) {
ws.send(message);
},
})
.listen(3000);
const api = treaty<typeof app>("localhost:3000");
const chat = api.chat.subscribe();
chat.subscribe((message) => {
console.log("got", message);
});
chat.on("open", () => {
chat.send("hello from client");
});.subscribe accepts the same parameter as get and head.
Response
Eden.subscribe returns EdenWS which extends the WebSocket results in identical syntax.
If more control is need, EdenWebSocket.raw can be accessed to interact with the native WebSocket API.