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 }