working commit

This commit is contained in:
2026-03-10 12:52:12 +02:00
parent d0a5fab362
commit d1ef1fbe50
42 changed files with 242 additions and 426 deletions
+8 -7
View File
@@ -13,17 +13,18 @@ import (
ocidigest "github.com/opencontainers/go-digest"
)
func (cli *Client) GetManifest(ctx context.Context, rawrepo, tag string) (bool, string, []byte, error) {
func (cli *Client) GetRawManifest(ctx context.Context, rawrepo string) (bool, string, []byte, error) {
var err error
var exist bool
var mime string
var man []byte
fmt.Printf("=== %s\n", rawrepo)
ref, err := NewReferer(rawrepo)
if err != nil {
return exist, mime, man, err
}
uri := ref.Manifest(tag)
uri := ref.ManifestEP()
req, err := http.NewRequestWithContext(ctx, http.MethodGet, uri, nil)
if err != nil {
@@ -44,6 +45,11 @@ func (cli *Client) GetManifest(ctx context.Context, rawrepo, tag string) (bool,
err := fmt.Errorf("Unxected response code %s", resp.Status)
return exist, mime, man, err
}
digstr := resp.Header.Get("Docker-Content-Digest")
if digstr == "" {
err := fmt.Errorf("Empty digest declaration")
return exist, mime, man, err
}
contentLength := resp.Header.Get("Content-Length")
if contentLength == "" {
err = errors.New("Empty Content-Length header")
@@ -58,11 +64,6 @@ func (cli *Client) GetManifest(ctx context.Context, rawrepo, tag string) (bool,
err := fmt.Errorf("Empty MIME type declaration")
return exist, mime, man, err
}
digstr := resp.Header.Get("Docker-Content-Digest")
if digstr == "" {
err := fmt.Errorf("Empty digest declaration")
return exist, mime, man, err
}
digstr = strings.ToLower(digstr)
digobj, err := ocidigest.Parse(digstr)
if err != nil {