8000 fix: Use of rw and r.Context() in workspaceAgentListen · coder/coder@e0fb30c · GitHub
[go: up one dir, main page]

Skip to content

Commit e0fb30c

Browse files
committed
fix: Use of rw and r.Context() in workspaceAgentListen
1 parent 0a354b6 commit e0fb30c

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

coderd/workspaceagents.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,13 +197,12 @@ func (api *API) workspaceAgentListen(rw http.ResponseWriter, r *http.Request) {
197197
return
198198
}
199199

200-
defer func() {
201-
_ = conn.Close(websocket.StatusNormalClosure, "")
202-
}()
200+
ctx, wsNetConn := websocketNetConn(r.Context(), conn, websocket.MessageBinary)
201+
defer wsNetConn.Close() // Also closes conn.
203202

204203
config := yamux.DefaultConfig()
205204
config.LogOutput = io.Discard
206-
session, err := yamux.Server(websocket.NetConn(r.Context(), conn, websocket.MessageBinary), config)
205+
session, err := yamux.Server(wsNetConn, config)
207206
if err != nil {
208207
_ = conn.Close(websocket.StatusAbnormalClosure, err.Error())
209208
return
@@ -233,7 +232,7 @@ func (api *API) workspaceAgentListen(rw http.ResponseWriter, r *http.Request) {
233232
}
234233
disconnectedAt := workspaceAgent.DisconnectedAt
235234
updateConnectionTimes := func() error {
236-
err = api.Database.UpdateWorkspaceAgentConnectionByID(r.Context(), database.UpdateWorkspaceAgentConnectionByIDParams{
235+
err = api.Database.UpdateWorkspaceAgentConnectionByID(ctx, database.UpdateWorkspaceAgentConnectionByIDParams{
237236
ID: workspaceAgent.ID,
238237
FirstConnectedAt: firstConnectedAt,
239238
LastConnectedAt: lastConnectedAt,
@@ -259,7 +258,7 @@ func (api *API) workspaceAgentListen(rw http.ResponseWriter, r *http.Request) {
259258
return
260259
}
261260

262-
api.Logger.Info(r.Context(), "accepting agent", slog.F("resource", resource), slog.F("agent", workspaceAgent))
261+
api.Logger.Info(ctx, "accepting agent", slog.F("resource", resource), slog.F("agent", workspaceAgent))
263262

264263
ticker := time.NewTicker(api.AgentConnectionUpdateFrequency)
265264
defer ticker.Stop()

0 commit comments

Comments
 (0)
0