forked from TrueCloudLab/frostfs-s3-gw
[#466] Implement PATCH for multipart objects
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
This commit is contained in:
parent
a2e0b92575
commit
d6b506f6d9
8 changed files with 468 additions and 40 deletions
|
@ -430,12 +430,12 @@ func (t *TestFrostFS) PatchObject(ctx context.Context, prm PrmObjectPatch) (oid.
|
|||
}
|
||||
|
||||
var newPayload []byte
|
||||
if prm.Range.Start > 0 {
|
||||
newPayload = append(newPayload, obj.Payload()[:prm.Range.Start]...)
|
||||
if prm.Offset > 0 {
|
||||
newPayload = append(newPayload, obj.Payload()[:prm.Offset]...)
|
||||
}
|
||||
newPayload = append(newPayload, patchBytes...)
|
||||
if prm.Range.End < obj.PayloadSize()-1 {
|
||||
newPayload = append(newPayload, obj.Payload()[prm.Range.End+1:]...)
|
||||
if prm.Offset+prm.Length < obj.PayloadSize() {
|
||||
newPayload = append(newPayload, obj.Payload()[prm.Offset+prm.Length:]...)
|
||||
}
|
||||
newObj.SetPayload(newPayload)
|
||||
newObj.SetPayloadSize(uint64(len(newPayload)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue