1 package resolver
2 3 import (
4 "bytes"
5 "fmt"
6 "sort"
7 )
8 9 // obtainError is returned when there are specific errors available per domain.
10 type obtainError map[string]error
11 12 func (e obtainError) Error() string {
13 buffer := bytes.NewBufferString("error: one or more domains had a problem:\n")
14 15 var domains []string
16 for domain := range e {
17 domains = append(domains, domain)
18 }
19 20 sort.Strings(domains)
21 22 for _, domain := range domains {
23 _, _ = fmt.Fprintf(buffer, "[%s] %s\n", domain, e[domain])
24 }
25 26 return buffer.String()
27 }
28