Added POST then PUT method

$ helm push --username mstore --password mstore --insecure-skip-tls-verify DIST/mstore-0.2.0.tgz oci://localhost:1025/mstore
Pushed: localhost:1025/mstore/mstore:0.2.0
Digest: sha256:5a60793c9fc655e1940b00dac707632d7d3b32aad31a79acc41e65f9152e50fc
This commit is contained in:
2026-02-25 21:12:54 +02:00
parent a3479d4e73
commit 75aa218410
2 changed files with 24 additions and 3 deletions
+13 -3
View File
@@ -217,9 +217,19 @@ func (oper *Operator) PutUpload(ctx context.Context, operatorID string, params *
}
if contentLength != 0 {
// TODO
err = fmt.Errorf("Unexpected Content-Length header: %s", params.ContentLength)
return res, http.StatusInternalServerError, err
recsize, _, err := oper.store.WriteUpload(params.Reference, params.Reader)
if err != nil {
return res, http.StatusInternalServerError, err
}
if contentLength != 0 && recsize != contentLength {
oper.store.RemoveUpload(params.Reference)
err = fmt.Errorf("Mismatch upload recorded size and content length")
return res, http.StatusInternalServerError, err
}
if err != nil {
return res, http.StatusInternalServerError, err
}
res.Location = fmt.Sprintf("/v2/%s/blobs/%s", params.Name, params.Digest)
}
err = oper.store.LinkUpload(params.Reference, params.Digest)