Skip to content

Commit

Permalink
enable get
Browse files Browse the repository at this point in the history
  • Loading branch information
thesayyn committed Jan 30, 2024
1 parent c62c9b0 commit 9591bf8
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 19 deletions.
20 changes: 10 additions & 10 deletions pkg/v1/remote/descriptor.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ func (d *Descriptor) RawManifest() ([]byte, error) {
// querying what kind of artifact a reference represents.
//
// See Head if you don't need the response body.
// func Get(ref name.Reference, options ...Option) (*Descriptor, error) {
// return get(ref, allManifestMediaTypes, options...)
// }
func Get(ref name.Reference, options ...Option) (*Descriptor, error) {
return get(ref, allManifestMediaTypes, options...)
}

// Head returns a v1.Descriptor for the given reference by issuing a HEAD
// request.
Expand All @@ -89,13 +89,13 @@ func Head(ref name.Reference, options ...Option) (*v1.Descriptor, error) {

// Handle options and fetch the manifest with the acceptable MediaTypes in the
// Accept header.
// func get(ref name.Reference, acceptable []types.MediaType, options ...Option) (*Descriptor, error) {
// o, err := makeOptions(options...)
// if err != nil {
// return nil, err
// }
// return newPuller(o).get(o.context, ref, acceptable, o.platform)
// }
func get(ref name.Reference, acceptable []types.MediaType, options ...Option) (*Descriptor, error) {
o, err := makeOptions(append(options, WithAcceptableMediaTypes(acceptable))...)
if err != nil {
return nil, err
}
return newPuller(o).Get(o.context, ref)
}

// Image converts the Descriptor into a v1.Image.
//
Expand Down
17 changes: 9 additions & 8 deletions pkg/v1/remote/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,14 +129,15 @@ var DefaultTransport http.RoundTripper = &http.Transport{

func makeOptions(opts ...Option) (*options, error) {
o := &options{
transport: DefaultTransport,
platform: defaultPlatform,
context: context.Background(),
jobs: defaultJobs,
pageSize: defaultPageSize,
retryPredicate: defaultRetryPredicate,
retryBackoff: defaultRetryBackoff,
retryStatusCodes: defaultRetryStatusCodes,
transport: DefaultTransport,
platform: defaultPlatform,
acceptableMediaTypes: allManifestMediaTypes,
context: context.Background(),
jobs: defaultJobs,
pageSize: defaultPageSize,
retryPredicate: defaultRetryPredicate,
retryBackoff: defaultRetryBackoff,
retryStatusCodes: defaultRetryStatusCodes,
}

for _, option := range opts {
Expand Down
2 changes: 1 addition & 1 deletion pkg/v1/remote/puller.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ func (p *puller) Head(ctx context.Context, ref name.Reference) (*v1.Descriptor,

// Get is like remote.Get, but avoids re-authenticating when possible.
func (p *puller) Get(ctx context.Context, ref name.Reference) (*Descriptor, error) {
return p.get(ctx, ref, allManifestMediaTypes, p.o.platform)
return p.get(ctx, ref, p.o.acceptableMediaTypes, p.o.platform)
}

func (p *puller) get(ctx context.Context, ref name.Reference, acceptable []types.MediaType, platform v1.Platform) (*Descriptor, error) {
Expand Down

0 comments on commit 9591bf8

Please sign in to comment.