mailout/pkg/utils/domain.go

29 lines
513 B
Go

package utils
import (
"fmt"
"strings"
)
func GetZone(domain string) (string, error) {
splt := strings.Split(domain, ".")
if len(splt) == 1 {
return "", fmt.Errorf("invalid domain %s", domain)
}
if len(splt) == 2 {
return domain, nil
}
return splt[len(splt)-2] + "." + splt[len(splt)-1], nil
}
func GetSubdomain(domain string) (string, error) {
top, err := GetZone(domain)
if err != nil {
return "", err
}
sub := strings.TrimSuffix(domain, top)
return strings.TrimSuffix(sub, "."), nil
}