errors.go raw

   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