forked from TrueCloudLab/frostfs-s3-gw
[#207] Fix part-number-marker handling
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
This commit is contained in:
parent
16840f1256
commit
38e1e91d78
2 changed files with 6 additions and 1 deletions
|
@ -600,7 +600,7 @@ func (h *handler) ListPartsHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if queryValues.Get("part-number-marker") != "" {
|
if queryValues.Get("part-number-marker") != "" {
|
||||||
if partNumberMarker, err = strconv.Atoi(queryValues.Get("part-number-marker")); err != nil || partNumberMarker <= 0 {
|
if partNumberMarker, err = strconv.Atoi(queryValues.Get("part-number-marker")); err != nil || partNumberMarker < 0 {
|
||||||
h.logAndSendError(w, "invalid PartNumberMarker", reqInfo, err, additional...)
|
h.logAndSendError(w, "invalid PartNumberMarker", reqInfo, err, additional...)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -548,6 +548,11 @@ func (n *layer) ListParts(ctx context.Context, p *ListPartsParams) (*ListPartsIn
|
||||||
return parts[i].PartNumber < parts[j].PartNumber
|
return parts[i].PartNumber < parts[j].PartNumber
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if p.PartNumberMarker >= parts[len(parts)-1].PartNumber {
|
||||||
|
res.Parts = make([]*Part, 0)
|
||||||
|
return &res, nil
|
||||||
|
}
|
||||||
|
|
||||||
if p.PartNumberMarker != 0 {
|
if p.PartNumberMarker != 0 {
|
||||||
for i, part := range parts {
|
for i, part := range parts {
|
||||||
if part.PartNumber > p.PartNumberMarker {
|
if part.PartNumber > p.PartNumberMarker {
|
||||||
|
|
Loading…
Reference in a new issue