package pki import ( "errors" "net" "net/url" "strings" ) // URLsFromString parses the urls from the string array func URLsFromString(urlStrs []string) ([]*url.URL, error) { var urls []*url.URL var errs []string for _, urlStr := range urlStrs { url, err := url.Parse(urlStr) if err != nil { errs = append(errs, err.Error()) continue } urls = append(urls, url) } if len(errs) > 0 { return nil, errors.New(strings.Join(errs, ", ")) } return urls, nil } // URLsToString converts the array of *url.URL object to the string array func URLsToString(urls []*url.URL) []string { var urlStrs []string for _, url := range urls { if urls == nil { panic("provided url to string is nil") } urlStrs = append(urlStrs, url.String()) } return urlStrs } // IPAddressesToString converts the ip address to the string func IPAddressesToString(ipAddresses []net.IP) []string { var ipNames []string for _, ip := range ipAddresses { ipNames = append(ipNames, ip.String()) } return ipNames }