package resolver import ( "bytes" "fmt" "sort" ) // obtainError is returned when there are specific errors available per domain. type obtainError map[string]error func (e obtainError) Error() string { buffer := bytes.NewBufferString("error: one or more domains had a problem:\n") var domains []string for domain := range e { domains = append(domains, domain) } sort.Strings(domains) for _, domain := range domains { _, _ = fmt.Fprintf(buffer, "[%s] %s\n", domain, e[domain]) } return buffer.String() }