in internal/api/acrsdk.go [259:296]
func (c *AcrCLIClient) GetManifest(ctx context.Context, repoName string, reference string) ([]byte, error) {
if c.isExpired() {
if err := refreshAcrCLIClientToken(ctx, c); err != nil {
return nil, err
}
}
var result acrapi.SetObject
req, err := c.AutorestClient.GetManifestPreparer(ctx, repoName, reference, manifestAcceptHeader)
if err != nil {
err = autorest.NewErrorWithError(err, "acr.BaseClient", "GetManifest", nil, "Failure preparing request")
return nil, err
}
resp, err := c.AutorestClient.GetManifestSender(req)
if err != nil {
result.Response = autorest.Response{Response: resp}
err = autorest.NewErrorWithError(err, "acr.BaseClient", "GetManifest", resp, "Failure sending request")
return nil, err
}
var manifestBytes []byte
if resp.Body != nil {
manifestBytes, err = ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
}
resp.Body = ioutil.NopCloser(bytes.NewBuffer(manifestBytes))
_, err = c.AutorestClient.GetManifestResponder(resp)
if err != nil {
err = autorest.NewErrorWithError(err, "acr.BaseClient", "GetManifest", resp, "Failure responding to request")
return nil, err
}
return manifestBytes, nil
}