internal/config/trusted_proxies.go
Rama main · réplica de lectura del repositorio original.
package config
import (
"fmt"
"net"
"strings"
)
func validateTrustedProxies(trustedProxies []string) error {
for _, trustedProxy := range trustedProxies {
if trustedProxy == "" || strings.TrimSpace(trustedProxy) != trustedProxy {
return fmt.Errorf("invalid trusted-proxies entry %q: expected an IP address or CIDR", trustedProxy)
}
if net.ParseIP(trustedProxy) != nil {
continue
}
if _, _, errParseCIDR := net.ParseCIDR(trustedProxy); errParseCIDR != nil {
return fmt.Errorf("invalid trusted-proxies entry %q: %w", trustedProxy, errParseCIDR)
}
}
return nil
}