diff --git a/.changelog/20345.txt b/.changelog/20345.txt new file mode 100644 index 000000000000..b2fcc5271f0f --- /dev/null +++ b/.changelog/20345.txt @@ -0,0 +1,3 @@ +```release-note:bug + audit-logs: **(Enterprise Only)** Fixes non ASCII characters in audit logs because of gzip. +``` diff --git a/agent/http.go b/agent/http.go index 34a92cecd57c..d828ed04c10e 100644 --- a/agent/http.go +++ b/agent/http.go @@ -188,7 +188,9 @@ func (s *HTTPHandlers) handler() http.Handler { // Register the wrapper. wrapper := func(resp http.ResponseWriter, req *http.Request) { start := time.Now() - handler(resp, req) + + // this method is implemented by different flavours of consul e.g. oss, ce. ent. + s.enterpriseRequest(resp, req, handler) labels := []metrics.Label{{Name: "method", Value: req.Method}, {Name: "path", Value: path_label}} metrics.MeasureSinceWithLabels([]string{"api", "http"}, start, labels) @@ -313,7 +315,6 @@ func (s *HTTPHandlers) handler() http.Handler { h = mux } - h = s.enterpriseHandler(h) h = withRemoteAddrHandler(h) s.h = &wrappedMux{ mux: mux, diff --git a/agent/http_ce.go b/agent/http_ce.go index da6bef723776..0259dc738fb4 100644 --- a/agent/http_ce.go +++ b/agent/http_ce.go @@ -95,9 +95,9 @@ func parseACLAuthMethodEnterpriseMeta(req *http.Request, _ *structs.ACLAuthMetho return nil } -// enterpriseHandler is a noop for the enterprise implementation. we pass the original back -func (s *HTTPHandlers) enterpriseHandler(next http.Handler) http.Handler { - return next +func (s *HTTPHandlers) enterpriseRequest(w http.ResponseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) { + // no special handling for CE. Calling the default handler with default params. + handler(w, req) } // uiTemplateDataTransform returns an optional uiserver.UIDataTransform to allow