Add two elements Message and Devops into Event struct.

Pass the event object instead of RequestInfo by request context to request handler.
This commit is contained in:
wanjunlei
2020-06-13 17:13:55 +08:00
parent dd03cab01c
commit 584bdda50e
6 changed files with 102 additions and 67 deletions

View File

@@ -19,16 +19,18 @@ func WithAuditing(handler http.Handler, a auditing.Auditing) http.Handler {
return
}
e := a.LogRequestObject(req)
resp := auditing.NewResponseCapture(w)
handler.ServeHTTP(resp, req)
info, ok := request.RequestInfoFrom(req.Context())
if !ok {
klog.Error("Unable to retrieve request info from request")
handler.ServeHTTP(w, req)
return
}
e := a.LogRequestObject(req, info)
req = req.WithContext(request.WithAuditEvent(req.Context(), e))
resp := auditing.NewResponseCapture(w)
handler.ServeHTTP(resp, req)
go a.LogResponseObject(e, resp, info)
})
}