internal/discovery/discovery.go
func DiscoverHTTP(endpoint string) ([]string, error) {
	res, err := http.Get(endpoint)
	if err != nil {
		return nil, fmt.Errorf("discovery: request failure: %s", err.Error())
	}
	defer res.Body.Close()
	var (
		tmp      []service
		services []string
	)
	if err := json.NewDecoder(res.Body).Decode(&tmp); err != nil {
		return nil, fmt.Errorf("discovery: request payload decoding failure: %s", err.Error())
	}
	for _, s := range tmp {
		services = append(services, fmt.Sprintf("%s:%d", s.Address, s.Port))
	}
	return services, nil
}
func DiscoverHTTP(endpoint string) ([]string, error) {
	res, err := http.Get(endpoint)
	if err != nil {
		return nil, fmt.Errorf("discovery: request failure: %s", err.Error())
	}
	defer res.Body.Close()
	var (
		tmp      []service
		services []string
	)
	if err := json.NewDecoder(res.Body).Decode(&tmp); err != nil {
		return nil, fmt.Errorf("discovery: request payload decoding failure: %s", err.Error())
	}
	for _, s := range tmp {
		services = append(services, fmt.Sprintf("%s:%d", s.Address, s.Port))
	}
	return services, nil
}
// DiscoverHTTP ...