luet/vendor/github.com/heroku/docker-registry-client/registry/repositories.go
Ettore Di Giacinto 420186b7db
Switch to go mod
2019-11-10 18:05:28 +01:00

27 lines
682 B
Go

package registry
type repositoriesResponse struct {
Repositories []string `json:"repositories"`
}
func (registry *Registry) Repositories() ([]string, error) {
url := registry.url("/v2/_catalog")
repos := make([]string, 0, 10)
var err error //We create this here, otherwise url will be rescoped with :=
var response repositoriesResponse
for {
registry.Logf("registry.repositories url=%s", url)
url, err = registry.getPaginatedJson(url, &response)
switch err {
case ErrNoMorePages:
repos = append(repos, response.Repositories...)
return repos, nil
case nil:
repos = append(repos, response.Repositories...)
continue
default:
return nil, err
}
}
}