mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-10-01 01:36:09 -04:00
45 lines
1.3 KiB
Go
45 lines
1.3 KiB
Go
|
/*
|
||
|
Copyright (c) Edgeless Systems GmbH
|
||
|
|
||
|
SPDX-License-Identifier: AGPL-3.0-only
|
||
|
*/
|
||
|
|
||
|
package fetcher
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
|
||
|
"github.com/edgelesssys/constellation/v2/internal/api/fetcher"
|
||
|
"github.com/edgelesssys/constellation/v2/internal/api/versions"
|
||
|
)
|
||
|
|
||
|
// Fetcher fetches version API resources without authentication.
|
||
|
type Fetcher struct {
|
||
|
fetcher.HTTPClient
|
||
|
}
|
||
|
|
||
|
// New returns a new Fetcher.
|
||
|
func New() *Fetcher {
|
||
|
return &Fetcher{fetcher.NewHTTPClient()}
|
||
|
}
|
||
|
|
||
|
// FetchVersionList fetches the given version list from the versions API.
|
||
|
func (f *Fetcher) FetchVersionList(ctx context.Context, list versions.List) (versions.List, error) {
|
||
|
return fetcher.Fetch(ctx, f.HTTPClient, list)
|
||
|
}
|
||
|
|
||
|
// FetchVersionLatest fetches the latest version from the versions API.
|
||
|
func (f *Fetcher) FetchVersionLatest(ctx context.Context, latest versions.Latest) (versions.Latest, error) {
|
||
|
return fetcher.Fetch(ctx, f.HTTPClient, latest)
|
||
|
}
|
||
|
|
||
|
// FetchImageInfo fetches the given image info from the versions API.
|
||
|
func (f *Fetcher) FetchImageInfo(ctx context.Context, imageInfo versions.ImageInfo) (versions.ImageInfo, error) {
|
||
|
return fetcher.Fetch(ctx, f.HTTPClient, imageInfo)
|
||
|
}
|
||
|
|
||
|
// FetchCLIInfo fetches the given cli info from the versions API.
|
||
|
func (f *Fetcher) FetchCLIInfo(ctx context.Context, cliInfo versions.CLIInfo) (versions.CLIInfo, error) {
|
||
|
return fetcher.Fetch(ctx, f.HTTPClient, cliInfo)
|
||
|
}
|