working commit
This commit is contained in:
+42
-9
@@ -1,7 +1,8 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
//"mstore/app/descr"
|
||||
"net/http"
|
||||
|
||||
"mstore/app/operator"
|
||||
"mstore/app/router"
|
||||
)
|
||||
@@ -18,7 +19,7 @@ func (hand *Handler) ManifestExists(rctx *router.Context) {
|
||||
res, code, err := hand.oper.ManifestExists(ctx, params)
|
||||
if err != nil {
|
||||
hand.logg.Errorf("ManifestExist error: %v", err)
|
||||
} else if res.Exists {
|
||||
} else if code == http.StatusOK {
|
||||
rctx.SetHeader("Content-Length", res.ContentLength)
|
||||
rctx.SetHeader("Content-Type", res.ContentType)
|
||||
rctx.SetHeader("Docker-Content-Digest", res.DockerContentDigest)
|
||||
@@ -70,13 +71,14 @@ func (hand *Handler) GetManifest(rctx *router.Context) {
|
||||
rctx.SetStatus(code)
|
||||
return
|
||||
}
|
||||
|
||||
rctx.SetHeader("Content-Length", res.ContentLength)
|
||||
rctx.SetHeader("Content-Type", res.ContentType)
|
||||
rctx.SetHeader("Docker-Content-Digest", res.DockerContentDigest)
|
||||
if code == http.StatusOK {
|
||||
rctx.SetHeader("Content-Length", res.ContentLength)
|
||||
rctx.SetHeader("Content-Type", res.ContentType)
|
||||
rctx.SetHeader("Docker-Content-Digest", res.DockerContentDigest)
|
||||
rctx.SendBytes(code, []byte(res.Payload))
|
||||
return
|
||||
}
|
||||
rctx.SetStatus(code)
|
||||
|
||||
rctx.SendBytes([]byte(res.Payload))
|
||||
}
|
||||
|
||||
// DELETE /v2/<name>/manifests/<reference> 200 404
|
||||
@@ -89,9 +91,40 @@ func (hand *Handler) DeleteManifest(rctx *router.Context) {
|
||||
Reference: reference,
|
||||
}
|
||||
ctx := rctx.GetContext()
|
||||
res, code, err := hand.oper.DeleteManifest(ctx, params)
|
||||
_, code, err := hand.oper.DeleteManifest(ctx, params)
|
||||
if err != nil {
|
||||
hand.logg.Errorf("DeleteManifest error: %v", err)
|
||||
}
|
||||
rctx.SetStatus(code)
|
||||
}
|
||||
|
||||
// GET /v2/<name>/referrers/<digest> 200 404/400
|
||||
// GET /v2/<name>/referrers/<digest>?artifactType=<artifactType> 200 404/400
|
||||
func (hand *Handler) GetReferer(rctx *router.Context) {
|
||||
name, _ := rctx.GetSubpath("name")
|
||||
digest, _ := rctx.GetSubpath("digest")
|
||||
params := &operator.GetRefererParams{
|
||||
Name: name,
|
||||
Digest: digest,
|
||||
}
|
||||
res, code, err := hand.oper.GetReferer(rctx.Ctx, params)
|
||||
if err != nil {
|
||||
hand.logg.Errorf("GetReferer error: %v", err)
|
||||
}
|
||||
rctx.SendText(code, res.Reference)
|
||||
}
|
||||
|
||||
// GET /v2/<name>/tags/list 200 404
|
||||
// GET /v2/<name>/tags/list?n=<integer>&last=<integer>
|
||||
func (hand *Handler) GetTags(rctx *router.Context) {
|
||||
name, _ := rctx.GetSubpath("name")
|
||||
params := &operator.GetTagsParams{
|
||||
Name: name,
|
||||
}
|
||||
ctx := rctx.GetContext()
|
||||
res, code, err := hand.oper.GetTags(ctx, params)
|
||||
if err != nil {
|
||||
hand.logg.Errorf("GetTags error: %v", err)
|
||||
}
|
||||
rctx.SendJSON(code, res.TagDescr)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user