fix: redact token query logs

This commit is contained in:
2026-06-27 20:53:55 +02:00
parent f661c2ed6c
commit ae88b92151

View File

@@ -3,6 +3,7 @@ package server
import (
"mal/internal/observability"
"net/http"
"strings"
"time"
"github.com/gin-gonic/gin"
@@ -46,7 +47,7 @@ func RequestLogger() gin.HandlerFunc {
fields["route"] = route
}
if query != "" {
fields["query"] = query
fields["query"] = redactSensitiveQuery(query)
}
if size := c.Writer.Size(); size >= 0 {
fields["bytes"] = size
@@ -76,3 +77,17 @@ func requestLogLevel(status int) observability.LogLevel {
}
return observability.LogLevelInfo
}
func redactSensitiveQuery(query string) string {
parts := strings.Split(query, "&")
for i, part := range parts {
key := part
if before, _, ok := strings.Cut(part, "="); ok {
key = before
}
if strings.EqualFold(key, "token") {
parts[i] = key + "=REDACTED"
}
}
return strings.Join(parts, "&")
}