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
}