Skip to content

Commit 0a354b6

Browse files
committed
fix: Use of r.Context() in workspaceAgentDial
1 parent 877959b commit 0a354b6

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

coderd/workspaceagents.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,18 @@ func (api *API) workspaceAgentDial(rw http.ResponseWriter, r *http.Request) {
7272
})
7373
return
7474
}
75-
defer func() {
76-
_ = conn.Close(websocket.StatusNormalClosure, "")
77-
}()
75+
76+
ctx, wsNetConn := websocketNetConn(r.Context(), conn, websocket.MessageBinary)
77+
defer wsNetConn.Close() // Also closes conn.
78+
7879
config := yamux.DefaultConfig()
7980
config.LogOutput = io.Discard
80-
session, err := yamux.Server(websocket.NetConn(r.Context(), conn, websocket.MessageBinary), config)
81+
session, err := yamux.Server(wsNetConn, config)
8182
if err != nil {
8283
_ = conn.Close(websocket.StatusAbnormalClosure, err.Error())
8384
return
8485
}
85-
err = peerbroker.ProxyListen(r.Context(), session, peerbroker.ProxyOptions{
86+
err = peerbroker.ProxyListen(ctx, session, peerbroker.ProxyOptions{
8687
ChannelID: workspaceAgent.ID.String(),
8788
Logger: api.Logger.Named("peerbroker-proxy-dial"),
8889
Pubsub: api.Pubsub,

0 commit comments

Comments
 (0)