Skip to content

Commit 70723d3

Browse files
authored
fix(coderd): fix panics by always checking for non-nil request logger (#18228)
1 parent c95d972 commit 70723d3

File tree

4 files changed

+18
-6
lines changed

4 files changed

+18
-6
lines changed

coderd/inboxnotifications.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,9 @@ func (api *API) watchInboxNotifications(rw http.ResponseWriter, r *http.Request)
221221
defer encoder.Close(websocket.StatusNormalClosure)
222222

223223
// Log the request immediately instead of after it completes.
224-
loggermw.RequestLoggerFromContext(ctx).WriteLog(ctx, http.StatusAccepted)
224+
if rl := loggermw.RequestLoggerFromContext(ctx); rl != nil {
225+
rl.WriteLog(ctx, http.StatusAccepted)
226+
}
225227

226228
for {
227229
select {

coderd/provisionerjobs.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,9 @@ func (f *logFollower) follow() {
557557
}
558558

559559
// Log the request immediately instead of after it completes.
560-
loggermw.RequestLoggerFromContext(f.ctx).WriteLog(f.ctx, http.StatusAccepted)
560+
if rl := loggermw.RequestLoggerFromContext(f.ctx); rl != nil {
561+
rl.WriteLog(f.ctx, http.StatusAccepted)
562+
}
561563

562564
// no need to wait if the job is done
563565
if f.complete {

coderd/workspaceagents.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,9 @@ func (api *API) workspaceAgentLogs(rw http.ResponseWriter, r *http.Request) {
578578
defer t.Stop()
579579

580580
// Log the request immediately instead of after it completes.
581-
loggermw.RequestLoggerFromContext(ctx).WriteLog(ctx, http.StatusAccepted)
581+
if rl := loggermw.RequestLoggerFromContext(ctx); rl != nil {
582+
rl.WriteLog(ctx, http.StatusAccepted)
583+
}
582584

583585
go func() {
584586
defer func() {
@@ -1047,7 +1049,9 @@ func (api *API) derpMapUpdates(rw http.ResponseWriter, r *http.Request) {
10471049
defer encoder.Close(websocket.StatusGoingAway)
10481050

10491051
// Log the request immediately instead of after it completes.
1050-
loggermw.RequestLoggerFromContext(ctx).WriteLog(ctx, http.StatusAccepted)
1052+
if rl := loggermw.RequestLoggerFromContext(ctx); rl != nil {
1053+
rl.WriteLog(ctx, http.StatusAccepted)
1054+
}
10511055

10521056
go func(ctx context.Context) {
10531057
// TODO(mafredri): Is this too frequent? Use separate ping disconnect timeout?
@@ -1501,7 +1505,9 @@ func (api *API) watchWorkspaceAgentMetadata(
15011505
defer sendTicker.Stop()
15021506

15031507
// Log the request immediately instead of after it completes.
1504-
loggermw.RequestLoggerFromContext(ctx).WriteLog(ctx, http.StatusAccepted)
1508+
if rl := loggermw.RequestLoggerFromContext(ctx); rl != nil {
1509+
rl.WriteLog(ctx, http.StatusAccepted)
1510+
}
15051511

15061512
// Send initial metadata.
15071513
sendMetadata()

enterprise/coderd/provisionerdaemons.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,9 @@ func (api *API) provisionerDaemonServe(rw http.ResponseWriter, r *http.Request)
384384
})
385385

386386
// Log the request immediately instead of after it completes.
387-
loggermw.RequestLoggerFromContext(ctx).WriteLog(ctx, http.StatusAccepted)
387+
if rl := loggermw.RequestLoggerFromContext(ctx); rl != nil {
388+
rl.WriteLog(ctx, http.StatusAccepted)
389+
}
388390

389391
err = server.Serve(ctx, session)
390392
srvCancel()

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy