...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package ociserver
16
17 import (
18 "context"
19 "net/http"
20
21 "cuelabs.dev/go/oci/ociregistry"
22 "cuelabs.dev/go/oci/ociregistry/internal/ocirequest"
23 )
24
25 func (r *registry) handleBlobDelete(ctx context.Context, resp http.ResponseWriter, req *http.Request, rreq *ocirequest.Request) error {
26 if err := r.backend.DeleteBlob(ctx, rreq.Repo, ociregistry.Digest(rreq.Digest)); err != nil {
27 return err
28 }
29 resp.WriteHeader(http.StatusAccepted)
30 return nil
31 }
32
33 func (r *registry) handleManifestDelete(ctx context.Context, resp http.ResponseWriter, req *http.Request, rreq *ocirequest.Request) error {
34 var err error
35 if rreq.Tag != "" {
36 err = r.backend.DeleteTag(ctx, rreq.Repo, rreq.Tag)
37 } else {
38 err = r.backend.DeleteManifest(ctx, rreq.Repo, ociregistry.Digest(rreq.Digest))
39 }
40 if err != nil {
41 return err
42 }
43 resp.WriteHeader(http.StatusAccepted)
44 return nil
45 }
46
View as plain text