MCPcopy
hub / github.com/NVIDIA/aistore / httpobjdelete

Method httpobjdelete

ais/proxy.go:667–694  ·  view source on GitHub ↗

DELETE /v1/objects/bucket-name/object-name

(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

665
666// DELETE /v1/objects/bucket-name/object-name
667func (p *proxy) httpobjdelete(w http.ResponseWriter, r *http.Request) {
668 bckArgs := allocInitBckArgs()
669 {
670 bckArgs.p = p
671 bckArgs.w = w
672 bckArgs.r = r
673 bckArgs.perms = apc.AceObjDELETE
674 bckArgs.createAIS = false
675 bckArgs.headRemB = true
676 }
677 bck, objName, err := p._parseReqTry(w, r, bckArgs)
678 if err != nil {
679 return
680 }
681 smap := p.owner.smap.get()
682 si, err := cluster.HrwTarget(bck.MakeUname(objName), &smap.Smap)
683 if err != nil {
684 p.writeErr(w, r, err)
685 return
686 }
687 if glog.FastV(4, glog.SmoduleAIS) {
688 glog.Infof("%s %s/%s => %s", r.Method, bck.Name, objName, si)
689 }
690 redirectURL := p.redirectURL(r, si, time.Now() /*started*/, cmn.NetIntraControl)
691 http.Redirect(w, r, redirectURL, http.StatusTemporaryRedirect)
692
693 p.statsT.Add(stats.DeleteCount, 1)
694}
695
696// DELETE { action } /v1/buckets
697func (p *proxy) httpbckdelete(w http.ResponseWriter, r *http.Request) {

Callers 1

objectHandlerMethod · 0.95

Calls 10

_parseReqTryMethod · 0.95
redirectURLMethod · 0.95
HrwTargetFunction · 0.92
FastVFunction · 0.92
InfofFunction · 0.92
allocInitBckArgsFunction · 0.85
writeErrMethod · 0.80
getMethod · 0.65
AddMethod · 0.65
MakeUnameMethod · 0.45

Tested by

no test coverage detected