Newer
Older
AnthosCertManager / pkg / util / pki / csr.go
@Yangyang Xie Yangyang Xie on 11 Nov 2022 1020 bytes add pki funcs
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
}