ValidateFilterIP validates an IP address string and returns the parsed IP. Returns nil IP and no error if input is empty (no filter). Returns error if input is non-empty but invalid.
(input string)
| 71 | // Returns nil IP and no error if input is empty (no filter). |
| 72 | // Returns error if input is non-empty but invalid. |
| 73 | func ValidateFilterIP(input string) (net.IP, error) { |
| 74 | if input == "" { |
| 75 | return nil, nil |
| 76 | } |
| 77 | ip := net.ParseIP(input) |
| 78 | if ip == nil { |
| 79 | return nil, fmt.Errorf("%w: %q", errInvalidIP, input) |
| 80 | } |
| 81 | if ip.To4() == nil { |
| 82 | return nil, fmt.Errorf("%w: %q", errIPv6NotSupported, input) |
| 83 | } |
| 84 | return ip, nil |
| 85 | } |
| 86 | |
| 87 | // ValidateFilterCIDR validates a CIDR string and returns the parsed IPNet. |
| 88 | // Returns nil and no error if input is empty (no filter). |
no outgoing calls