forked from TrueCloudLab/frostfs-s3-gw
[#357] Remove checks of bucket settings is not nil
Via #389 Also fixed test Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
This commit is contained in:
parent
02bcbe9754
commit
e319f2422e
3 changed files with 4 additions and 11 deletions
|
@ -457,7 +457,7 @@ func (h *handler) CompleteMultipartUploadHandler(w http.ResponseWriter, r *http.
|
||||||
Key: objInfo.Name,
|
Key: objInfo.Name,
|
||||||
}
|
}
|
||||||
|
|
||||||
if bktSettings != nil && bktSettings.VersioningEnabled {
|
if bktSettings.VersioningEnabled {
|
||||||
w.Header().Set(api.AmzVersionID, objInfo.Version())
|
w.Header().Set(api.AmzVersionID, objInfo.Version())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -547,14 +547,8 @@ func (n *layer) deleteObject(ctx context.Context, bkt *data.BucketInfo, settings
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
ids []*oid.ID
|
ids []*oid.ID
|
||||||
|
|
||||||
versioningEnabled = false
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if settings != nil {
|
|
||||||
versioningEnabled = settings.VersioningEnabled
|
|
||||||
}
|
|
||||||
|
|
||||||
p := &PutObjectParams{
|
p := &PutObjectParams{
|
||||||
BktInfo: bkt,
|
BktInfo: bkt,
|
||||||
Object: obj.Name,
|
Object: obj.Name,
|
||||||
|
@ -565,7 +559,7 @@ func (n *layer) deleteObject(ctx context.Context, bkt *data.BucketInfo, settings
|
||||||
// Current implementation doesn't consider "unversioned" mode (so any deletion creates "delete-mark" object).
|
// Current implementation doesn't consider "unversioned" mode (so any deletion creates "delete-mark" object).
|
||||||
// The reason is difficulties to determinate whether versioning mode is "unversioned" or "suspended".
|
// The reason is difficulties to determinate whether versioning mode is "unversioned" or "suspended".
|
||||||
|
|
||||||
if obj.VersionID == unversionedObjectVersionID || !versioningEnabled && len(obj.VersionID) == 0 {
|
if obj.VersionID == unversionedObjectVersionID || !settings.VersioningEnabled && len(obj.VersionID) == 0 {
|
||||||
p.Header[versionsUnversionedAttr] = "true"
|
p.Header[versionsUnversionedAttr] = "true"
|
||||||
versions, err := n.headVersions(ctx, bkt, obj.Name)
|
versions, err := n.headVersions(ctx, bkt, obj.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -618,7 +612,7 @@ func (n *layer) deleteObject(ctx context.Context, bkt *data.BucketInfo, settings
|
||||||
}
|
}
|
||||||
if len(obj.VersionID) == 0 {
|
if len(obj.VersionID) == 0 {
|
||||||
obj.DeleteMarkVersion = objInfo.Version()
|
obj.DeleteMarkVersion = objInfo.Version()
|
||||||
if versioningEnabled {
|
if settings.VersioningEnabled {
|
||||||
obj.DeleteMarkerEtag = objInfo.HashSum
|
obj.DeleteMarkerEtag = objInfo.HashSum
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,6 @@ import (
|
||||||
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
||||||
"github.com/nspcc-dev/neofs-s3-gw/api"
|
"github.com/nspcc-dev/neofs-s3-gw/api"
|
||||||
"github.com/nspcc-dev/neofs-s3-gw/api/data"
|
"github.com/nspcc-dev/neofs-s3-gw/api/data"
|
||||||
"github.com/nspcc-dev/neofs-s3-gw/api/errors"
|
|
||||||
"github.com/nspcc-dev/neofs-s3-gw/api/layer/neofs"
|
"github.com/nspcc-dev/neofs-s3-gw/api/layer/neofs"
|
||||||
"github.com/nspcc-dev/neofs-s3-gw/creds/accessbox"
|
"github.com/nspcc-dev/neofs-s3-gw/creds/accessbox"
|
||||||
"github.com/nspcc-dev/neofs-s3-gw/internal/neofstest"
|
"github.com/nspcc-dev/neofs-s3-gw/internal/neofstest"
|
||||||
|
@ -360,7 +359,7 @@ func TestNoVersioningDeleteObject(t *testing.T) {
|
||||||
tc.putObject([]byte("content obj1 v2"))
|
tc.putObject([]byte("content obj1 v2"))
|
||||||
|
|
||||||
versioning, err := tc.layer.GetBucketSettings(tc.ctx, tc.bktInfo)
|
versioning, err := tc.layer.GetBucketSettings(tc.ctx, tc.bktInfo)
|
||||||
require.Error(t, err, errors.GetAPIError(errors.ErrNoSuchKey))
|
require.NoError(t, err)
|
||||||
|
|
||||||
tc.deleteObject(tc.obj, "", versioning)
|
tc.deleteObject(tc.obj, "", versioning)
|
||||||
tc.getObject(tc.obj, "", true)
|
tc.getObject(tc.obj, "", true)
|
||||||
|
|
Loading…
Reference in a new issue