Exemplo n.º 1
0
func parseCatalogServices(catalog *api.Catalog, qOpts *api.QueryOptions) ([]*api.CatalogService, error) {
	results := []*api.CatalogService{}
	svcs, _, err := catalog.Services(&api.QueryOptions{})
	if err != nil {
		return results, err
	}
	for k, v := range svcs {
		if len(v) > 0 {
			for _, i := range v {
				sInfo, _, err := catalog.Service(k, i, qOpts)
				if err != nil {
					return results, err
				}
				for _, s := range sInfo {
					results = append(results, s)
				}
			}
			continue
		}
		sInfo, _, err := catalog.Service(k, "", qOpts)
		if err != nil {
			return results, err
		}
		for _, s := range sInfo {
			results = append(results, s)
		}
	}
	return results, err
}