Skip to content

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
.
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.