in lib/hostlist/config.go [50:76]
func (c *Config) getResolver() (resolver, error) {
if c.DNS == "" && len(c.Static) == 0 {
return nil, errors.New("no dns record or static list supplied")
}
if c.DNS != "" && len(c.Static) > 0 {
return nil, errors.New("both dns record and static list supplied")
}
if len(c.Static) > 0 {
for _, addr := range c.Static {
if _, _, err := net.SplitHostPort(addr); err != nil {
return nil, fmt.Errorf("invalid static addr: %s", err)
}
}
return &staticResolver{stringset.FromSlice(c.Static)}, nil
}
dns, rawport, err := net.SplitHostPort(c.DNS)
if err != nil {
return nil, fmt.Errorf("invalid dns: %s", err)
}
port, err := strconv.Atoi(rawport)
if err != nil {
return nil, fmt.Errorf("invalid dns port: %s", err)
}
return &dnsResolver{dns, port}, nil
}