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.