urls.go 625 B

123456789101112131415161718192021222324252627282930313233343536
  1. package flags
  2. import (
  3. "strings"
  4. "github.com/coreos/etcd/pkg/types"
  5. )
  6. type URLsValue types.URLs
  7. // Set parses a command line set of URLs formatted like:
  8. // http://127.0.0.1:7001,http://10.1.1.2:80
  9. func (us *URLsValue) Set(s string) error {
  10. strs := strings.Split(s, ",")
  11. nus, err := types.NewURLs(strs)
  12. if err != nil {
  13. return err
  14. }
  15. *us = URLsValue(nus)
  16. return nil
  17. }
  18. func (us *URLsValue) String() string {
  19. all := make([]string, len(*us))
  20. for i, u := range *us {
  21. all[i] = u.String()
  22. }
  23. return strings.Join(all, ",")
  24. }
  25. func NewURLsValue(init string) *URLsValue {
  26. v := &URLsValue{}
  27. v.Set(init)
  28. return v
  29. }