[#477] Use tags and lock aggregation in handler

Reduce amount of tree service RPCs
by using new method in layer package.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
Alex Vanin 2022-05-31 17:28:06 +03:00 committed by Alex Vanin
parent 7fd27e04fe
commit 8731dcfd3c
2 changed files with 13 additions and 27 deletions

View file

@ -144,9 +144,9 @@ func (h *handler) GetObjectHandler(w http.ResponseWriter, r *http.Request) {
VersionID: info.Version(),
}
tagSet, err := h.obj.GetObjectTagging(r.Context(), t)
tagSet, lockInfo, err := h.obj.GetObjectTaggingAndLock(r.Context(), t)
if err != nil && !errors.IsS3Error(err, errors.ErrNoSuchKey) {
h.logAndSendError(w, "could not get object tag set", reqInfo, err)
h.logAndSendError(w, "could not get object meta data", reqInfo, err)
return
}
@ -154,7 +154,7 @@ func (h *handler) GetObjectHandler(w http.ResponseWriter, r *http.Request) {
overrideResponseHeaders(w.Header(), reqInfo.URL.Query())
}
if err = h.setLockingHeaders(r.Context(), bktInfo, info, w.Header()); err != nil {
if err = h.setLockingHeaders(bktInfo, lockInfo, w.Header()); err != nil {
h.logAndSendError(w, "could not get locking info", reqInfo, err)
return
}