示例#1
0
// Convert a nameserver request object into a nameserver model object. It can return
// errors related to the conversion of IP addresses and normalization of nameserver's
// hostname
func (n *NameserverRequest) toNameserverModel() (model.Nameserver, error) {
	var nameserver model.Nameserver

	host, err := model.NormalizeDomainName(n.Host)
	if err != nil {
		return nameserver, err
	}
	nameserver.Host = host

	if len(n.IPv4) > 0 {
		ipv4 := net.ParseIP(n.IPv4)
		if ipv4 == nil {
			return nameserver, ErrInvalidIP
		}
		nameserver.IPv4 = ipv4
	}

	if len(n.IPv6) > 0 {
		ipv6 := net.ParseIP(n.IPv6)
		if ipv6 == nil {
			return nameserver, ErrInvalidIP
		}
		nameserver.IPv6 = ipv6
	}

	return nameserver, nil
}