forked from TrueCloudLab/frostfs-s3-gw
[#641] Remove old CORS versions after putting new one
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
This commit is contained in:
parent
c0c4bdb366
commit
01d95d8cf4
3 changed files with 39 additions and 30 deletions
|
@ -45,6 +45,11 @@ func (n *Layer) PutBucketCORS(ctx context.Context, p *PutCORSParams) error {
|
|||
return err
|
||||
}
|
||||
|
||||
corsVersions, err := n.getCORSVersions(ctx, p.BktInfo)
|
||||
if err != nil {
|
||||
n.reqLogger(ctx).Error(logs.CouldntGetCORSObjectVersions, zap.Error(err), logs.TagField(logs.TagExternalStorage))
|
||||
}
|
||||
|
||||
prm := frostfs.PrmObjectCreate{
|
||||
Container: n.corsCnrInfo.CID,
|
||||
Payload: &buf,
|
||||
|
@ -56,7 +61,7 @@ func (n *Layer) PutBucketCORS(ctx context.Context, p *PutCORSParams) error {
|
|||
},
|
||||
}
|
||||
|
||||
_, err := n.objectPutAndHash(ctx, prm, n.corsCnrInfo)
|
||||
_, err = n.objectPutAndHash(ctx, prm, n.corsCnrInfo)
|
||||
if err != nil {
|
||||
return fmt.Errorf("put cors object: %w", err)
|
||||
}
|
||||
|
@ -76,6 +81,15 @@ func (n *Layer) PutBucketCORS(ctx context.Context, p *PutCORSParams) error {
|
|||
}
|
||||
}
|
||||
|
||||
if corsVersions != nil {
|
||||
var addr oid.Address
|
||||
addr.SetContainer(n.corsCnrInfo.CID)
|
||||
for _, obj := range corsVersions.GetObjects() {
|
||||
addr.SetObject(obj.ObjID)
|
||||
n.deleteCORSObject(ctx, p.BktInfo, addr)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue