fix: dedup "headers" attribute

This commit is contained in:
Samuel Berthe
2024-02-12 12:04:46 +01:00
parent 08a791bf8d
commit 1113f53ea2
+10 -2
View File
@@ -177,12 +177,16 @@ func NewWithConfig(logger *slog.Logger, config Config) gin.HandlerFunc {
// request headers // request headers
if config.WithRequestHeader { if config.WithRequestHeader {
kv := []any{}
for k, v := range c.Request.Header { for k, v := range c.Request.Header {
if _, found := HiddenRequestHeaders[strings.ToLower(k)]; found { if _, found := HiddenRequestHeaders[strings.ToLower(k)]; found {
continue continue
} }
requestAttributes = append(requestAttributes, slog.Group("header", slog.Any(k, v))) kv = append(kv, slog.Any(k, v))
} }
requestAttributes = append(requestAttributes, slog.Group("header", kv...))
} }
if config.WithUserAgent { if config.WithUserAgent {
@@ -197,12 +201,16 @@ func NewWithConfig(logger *slog.Logger, config Config) gin.HandlerFunc {
// response headers // response headers
if config.WithResponseHeader { if config.WithResponseHeader {
kv := []any{}
for k, v := range c.Writer.Header() { for k, v := range c.Writer.Header() {
if _, found := HiddenResponseHeaders[strings.ToLower(k)]; found { if _, found := HiddenResponseHeaders[strings.ToLower(k)]; found {
continue continue
} }
responseAttributes = append(responseAttributes, slog.Group("header", slog.Any(k, v))) kv = append(kv, slog.Any(k, v))
} }
responseAttributes = append(responseAttributes, slog.Group("header", kv...))
} }
attributes := append( attributes := append(