working commit

This commit is contained in:
2026-02-05 14:37:54 +02:00
parent 2dfb4a88b8
commit e81037d75f
10 changed files with 408 additions and 119 deletions
+52
View File
@@ -1,6 +1,9 @@
package handler
import (
"io"
"net/http"
"mstore/app/operator"
"mstore/app/router"
@@ -125,3 +128,52 @@ func (hand *Handler) PutUpload(rctx *router.Context) {
rctx.SetHeader("Location", res.Location)
rctx.SetStatus(code)
}
// GET /v2/<name>/blobs/<digest> 200 404
func (hand *Handler) GetBlob(rctx *router.Context) {
name, _ := rctx.GetSubpath("name")
digest, _ := rctx.GetSubpath("digest")
params := &operator.GetBlobParams{
Name: name,
Digest: digest,
}
ctx := rctx.GetContext()
res, code, err := hand.oper.GetBlob(ctx, params)
if err != nil {
hand.logg.Errorf("GetBlob error: %v", err)
}
rctx.SetHeader("Content-Length", res.ContentLength)
rctx.SetHeader("Content-Type", res.ContentType)
rctx.SetHeader("Docker-Content-Digest", res.DockerContentDigest)
rctx.SetStatus(code)
defer res.ReadCloser.Close()
_, err = io.Copy(rctx.Writer, res.ReadCloser)
if err != nil {
hand.logg.Errorf("GetFile error: %v", err)
rctx.SetStatus(http.StatusInternalServerError)
return
}
}
// DELETE /v2/<name>/blobs/<digest> 202 404/405
func (hand *Handler) DeleteBlob(rctx *router.Context) {
name, _ := rctx.GetSubpath("name")
digest, _ := rctx.GetSubpath("digest")
params := &operator.DeleteBlobParams{
Name: name,
Digest: digest,
}
ctx := rctx.GetContext()
_, code, err := hand.oper.DeleteBlob(ctx, params)
if err != nil {
hand.logg.Errorf("DeleteBlob error: %v", err)
}
rctx.SetStatus(code)
}
+1 -1
View File
@@ -89,7 +89,7 @@ func (hand *Handler) ManifestExists(rctx *router.Context) {
func (hand *Handler) PutManifest(rctx *router.Context) {
hand.DumpHeaders("PutManifest headers", rctx)
//hand.DumpHeaders("PutManifest headers", rctx)
contentType := rctx.GetHeader("Content-Type")
contentLength := rctx.GetHeader("Content-Length")