Skip to content
This repository was archived by the owner on May 20, 2025. It is now read-only.

Commit 5b1fe4b

Browse files
committed
fix: update code for new go SDK
1 parent 715e936 commit 5b1fe4b

File tree

1 file changed

+15
-27
lines changed

1 file changed

+15
-27
lines changed

src/pages/guides/go/realtime-messaging.mdx

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -117,38 +117,34 @@ From here, let's add some features to that function that allow us to manage conn
117117
### Register connections on connect
118118

119119
```go
120-
ws.On(handler.WebsocketConnect, func(ctx *handler.WebsocketContext, next handler.WebsocketHandler) (*handler.WebsocketContext, error) {
120+
ws.On(websockets.EventType_Connect, func(ctx *websockets.Ctx) {
121121
err := connections.Set(context.TODO(), ctx.Request.ConnectionID(), map[string]interface{}{
122122
"connectionId": ctx.Request.ConnectionID(),
123123
})
124124
if err != nil {
125-
return ctx, err
125+
return
126126
}
127-
128-
return next(ctx)
129127
})
130128
```
131129

132130
### Remove connections on disconnect
133131

134132
```go
135-
ws.On(handler.WebsocketDisconnect, func(ctx *handler.WebsocketContext, next handler.WebsocketHandler) (*handler.WebsocketContext, error) {
133+
ws.On(websockets.EventType_Disconnect, func(ctx *websockets.Ctx) {
136134
err := connections.Delete(context.TODO(), ctx.Request.ConnectionID())
137135
if err != nil {
138-
return ctx, err
136+
return
139137
}
140-
141-
return next(ctx)
142138
})
143139
```
144140

145141
### Broadcast messages to all connected clients
146142

147143
```go
148-
ws.On(handler.WebsocketMessage, func(ctx *handler.WebsocketContext, next handler.WebsocketHandler) (*handler.WebsocketContext, error) {
144+
ws.On(websockets.EventType_Message, func(ctx *websockets.Ctx) {
149145
connectionStream, err := connections.Keys(context.TODO())
150146
if err != nil {
151-
return ctx, err
147+
return
152148
}
153149

154150
senderId := ctx.Request.ConnectionID()
@@ -166,11 +162,9 @@ ws.On(handler.WebsocketMessage, func(ctx *handler.WebsocketContext, next handler
166162
message := fmt.Sprintf("%s: %s", senderId, ctx.Request.Message())
167163
err = ws.Send(context.TODO(), connectionId, []byte(message))
168164
if err != nil {
169-
return ctx, err
165+
return
170166
}
171167
}
172-
173-
return next(ctx)
174168
})
175169
```
176170

@@ -186,8 +180,8 @@ import (
186180
"context"
187181
"fmt"
188182

189-
"github.com/nitrictech/go-sdk/handler"
190183
"github.com/nitrictech/go-sdk/nitric"
184+
"github.com/nitrictech/go-sdk/nitric/websockets"
191185
)
192186

193187
func main() {
@@ -203,30 +197,26 @@ func main() {
203197
return
204198
}
205199

206-
ws.On(handler.WebsocketConnect, func(ctx *handler.WebsocketContext, next handler.WebsocketHandler) (*handler.WebsocketContext, error) {
200+
ws.On(websockets.EventType_Connect, func(ctx *websockets.Ctx) {
207201
err := connections.Set(context.TODO(), ctx.Request.ConnectionID(), map[string]interface{}{
208202
"connectionId": ctx.Request.ConnectionID(),
209203
})
210204
if err != nil {
211-
return ctx, err
205+
return
212206
}
213-
214-
return next(ctx)
215207
})
216208

217-
ws.On(handler.WebsocketDisconnect, func(ctx *handler.WebsocketContext, next handler.WebsocketHandler) (*handler.WebsocketContext, error) {
209+
ws.On(websockets.EventType_Disconnect, func(ctx *websockets.Ctx) {
218210
err := connections.Delete(context.TODO(), ctx.Request.ConnectionID())
219211
if err != nil {
220-
return ctx, err
212+
return
221213
}
222-
223-
return next(ctx)
224214
})
225215

226-
ws.On(handler.WebsocketMessage, func(ctx *handler.WebsocketContext, next handler.WebsocketHandler) (*handler.WebsocketContext, error) {
216+
ws.On(websockets.EventType_Message, func(ctx *websockets.Ctx) {
227217
connectionStream, err := connections.Keys(context.TODO())
228218
if err != nil {
229-
return ctx, err
219+
return
230220
}
231221

232222
senderId := ctx.Request.ConnectionID()
@@ -244,11 +234,9 @@ func main() {
244234
message := fmt.Sprintf("%s: %s", senderId, ctx.Request.Message())
245235
err = ws.Send(context.TODO(), connectionId, []byte(message))
246236
if err != nil {
247-
return ctx, err
237+
return
248238
}
249239
}
250-
251-
return next(ctx)
252240
})
253241

254242
if err := nitric.Run(); err != nil {

0 commit comments

Comments
 (0)