package commonbackend import ( "fmt" "net" ) func IPStringToIPBytes(ip string) ([]byte, error) { sourceIP := net.ParseIP(ip) ipBytes := sourceIP.To4() if ipBytes == nil { ipBytes = sourceIP.To16() if ipBytes == nil { return nil, fmt.Errorf("invalid IP address recieved") } } return ipBytes, nil } func IPBytesToIPSafe(ip []byte) (net.IP, error) { sourceIP := net.IP(ip) ipBytes := sourceIP.To4() if ipBytes != nil { return ipBytes, nil } ipBytes = sourceIP.To16() if ipBytes != nil { return ipBytes, nil } return nil, fmt.Errorf("invalid IP address recieved") } func IPBytesToString(ip []byte) (string, error) { sourceIP := net.IP(ip) ipBytes := sourceIP.To4() if ipBytes != nil { return ipBytes.String(), nil } ipBytes = sourceIP.To16() if ipBytes != nil { return ipBytes.String(), nil } return "", fmt.Errorf("invalid IP address recieved") }