Skip to content

Commit 6d2b7ea

Browse files
authored
fix(audit): only generate diff on request success (#4253)
1 parent 9339d59 commit 6d2b7ea

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

coderd/audit/request.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,18 @@ func InitRequest[T Auditable](w http.ResponseWriter, p *RequestParams) (*Request
110110
return
111111
}
112112

113-
diff := Diff(p.Audit, req.Old, req.New)
114-
diffRaw, _ := json.Marshal(diff)
113+
var diffRaw = []byte("{}")
114+
// Only generate diffs if the request succeeded.
115+
if sw.Status < 400 {
116+
diff := Diff(p.Audit, req.Old, req.New)
117+
118+
var err error
119+
diffRaw, err = json.Marshal(diff)
120+
if err != nil {
121+
p.Log.Warn(logCtx, "marshal diff", slog.Error(err))
122+
diffRaw = []byte("{}")
123+
}
124+
}
115125

116126
ip, err := parseIP(p.Request.RemoteAddr)
117127
if err != nil {

0 commit comments

Comments
 (0)