diff --git a/internal/utils/utils.go b/internal/utils/utils.go index 92da4b3..9fa5b69 100644 --- a/internal/utils/utils.go +++ b/internal/utils/utils.go @@ -188,7 +188,7 @@ func ParseHeaders(headers []string) map[string]string { // Loop through the headers for _, header := range headers { split := strings.SplitN(header, "=", 2) - if len(split) != 2 { + if len(split) != 2 || strings.TrimSpace(split[0]) == "" || strings.TrimSpace(split[1]) == "" { log.Warn().Str("header", header).Msg("Invalid header format, skipping") continue } diff --git a/internal/utils/utils_test.go b/internal/utils/utils_test.go index 57423ec..31090f6 100644 --- a/internal/utils/utils_test.go +++ b/internal/utils/utils_test.go @@ -491,7 +491,7 @@ func TestParseHeaders(t *testing.T) { t.Log("Testing parse headers with a valid string") // Create variables - headers := []string{"X-Hea\tder1=value1", "X-Header2=value\n2"} + headers := []string{"X-Hea\x00der1=value1", "X-Header2=value\n2"} expected := map[string]string{ "X-Header1": "value1", "X-Header2": "value2",