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

Method httpobjhead

ais/proxy.go:1661–1689  ·  view source on GitHub ↗

HEAD /v1/objects/bucket-name/object-name

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

Source from the content-addressed store, hash-verified

1659
1660// HEAD /v1/objects/bucket-name/object-name
1661func (p *proxy) httpobjhead(w http.ResponseWriter, r *http.Request, origURLBck ...string) {
1662 bckArgs := allocInitBckArgs()
1663 {
1664 bckArgs.p = p
1665 bckArgs.w = w
1666 bckArgs.r = r
1667 bckArgs.perms = apc.AceObjHEAD
1668 bckArgs.createAIS = false
1669 bckArgs.headRemB = true
1670 }
1671 if len(origURLBck) > 0 {
1672 bckArgs.origURLBck = origURLBck[0]
1673 }
1674 bck, objName, err := p._parseReqTry(w, r, bckArgs)
1675 if err != nil {
1676 return
1677 }
1678 smap := p.owner.smap.get()
1679 si, err := cluster.HrwTarget(bck.MakeUname(objName), &smap.Smap)
1680 if err != nil {
1681 p.writeErr(w, r, err, http.StatusInternalServerError)
1682 return
1683 }
1684 if glog.FastV(4, glog.SmoduleAIS) {
1685 glog.Infof("%s %s/%s => %s", r.Method, bck.Name, objName, si)
1686 }
1687 redirectURL := p.redirectURL(r, si, time.Now() /*started*/, cmn.NetIntraControl)
1688 http.Redirect(w, r, redirectURL, http.StatusTemporaryRedirect)
1689}
1690
1691// PATCH /v1/objects/bucket-name/object-name
1692func (p *proxy) httpobjpatch(w http.ResponseWriter, r *http.Request) {

Callers 2

objectHandlerMethod · 0.95
httpCloudHandlerMethod · 0.95

Calls 9

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

Tested by

no test coverage detected