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
if config.WithRequestHeader {
kv := []any{}
for k, v := range c.Request.Header {
if _, found := HiddenRequestHeaders[strings.ToLower(k)]; found {
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 {
@@ -197,12 +201,16 @@ func NewWithConfig(logger *slog.Logger, config Config) gin.HandlerFunc {
// response headers
if config.WithResponseHeader {
kv := []any{}
for k, v := range c.Writer.Header() {
if _, found := HiddenResponseHeaders[strings.ToLower(k)]; found {
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(