client: Refactor PrmObjectPutSingle usage #747
4 changed files with 26 additions and 53 deletions
|
@ -387,30 +387,23 @@ func (x *PutObjectPrm) PrepareLocally() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *PutObjectPrm) convertToSDKPrm(ctx context.Context) (client.PrmObjectPutInit, error) {
|
func (x *PutObjectPrm) convertToSDKPrm(ctx context.Context) (client.PrmObjectPutInit, error) {
|
||||||
var putPrm client.PrmObjectPutInit
|
putPrm := client.PrmObjectPutInit{
|
||||||
if !x.prepareLocally && x.sessionToken != nil {
|
XHeaders: x.xHeaders,
|
||||||
putPrm.WithinSession(*x.sessionToken)
|
BearerToken: x.bearerToken,
|
||||||
|
Local: x.local,
|
||||||
|
CopiesNumber: x.copyNum,
|
||||||
}
|
}
|
||||||
|
|
||||||
if x.bearerToken != nil {
|
|
||||||
putPrm.WithBearerToken(*x.bearerToken)
|
|
||||||
}
|
|
||||||
|
|
||||||
if x.local {
|
|
||||||
putPrm.MarkLocal()
|
|
||||||
}
|
|
||||||
|
|
||||||
putPrm.WithXHeaders(x.xHeaders...)
|
|
||||||
putPrm.SetCopiesNumberByVectors(x.copyNum)
|
|
||||||
|
|
||||||
if x.prepareLocally {
|
if x.prepareLocally {
|
||||||
res, err := x.cli.NetworkInfo(ctx, client.PrmNetworkInfo{})
|
res, err := x.cli.NetworkInfo(ctx, client.PrmNetworkInfo{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return client.PrmObjectPutInit{}, err
|
return client.PrmObjectPutInit{}, err
|
||||||
}
|
}
|
||||||
putPrm.WithObjectMaxSize(res.Info().MaxObjectSize())
|
putPrm.MaxSize = res.Info().MaxObjectSize()
|
||||||
putPrm.WithEpochSource(epochSource(res.Info().CurrentEpoch()))
|
putPrm.EpochSource = epochSource(res.Info().CurrentEpoch())
|
||||||
putPrm.WithoutHomomorphicHash(res.Info().HomomorphicHashingDisabled())
|
putPrm.WithoutHomomorphHash = res.Info().HomomorphicHashingDisabled()
|
||||||
|
} else {
|
||||||
|
putPrm.Session = x.sessionToken
|
||||||
}
|
}
|
||||||
return putPrm, nil
|
return putPrm, nil
|
||||||
}
|
}
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -6,7 +6,7 @@ require (
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-api-go/v2 v2.16.0
|
git.frostfs.info/TrueCloudLab/frostfs-api-go/v2 v2.16.0
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-contract v0.18.0
|
git.frostfs.info/TrueCloudLab/frostfs-contract v0.18.0
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20230531082742-c97d21411eb6
|
git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20230531082742-c97d21411eb6
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20230928142024-84b9d29fc98c
|
git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20231019083813-5804128ff3d5
|
||||||
git.frostfs.info/TrueCloudLab/hrw v1.2.1
|
git.frostfs.info/TrueCloudLab/hrw v1.2.1
|
||||||
git.frostfs.info/TrueCloudLab/tzhash v1.8.0
|
git.frostfs.info/TrueCloudLab/tzhash v1.8.0
|
||||||
github.com/cheggaaa/pb v1.0.29
|
github.com/cheggaaa/pb v1.0.29
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -393,8 +393,8 @@ git.frostfs.info/TrueCloudLab/frostfs-crypto v0.6.0 h1:FxqFDhQYYgpe41qsIHVOcdzSV
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-crypto v0.6.0/go.mod h1:RUIKZATQLJ+TaYQa60X2fTDwfuhMfm8Ar60bQ5fr+vU=
|
git.frostfs.info/TrueCloudLab/frostfs-crypto v0.6.0/go.mod h1:RUIKZATQLJ+TaYQa60X2fTDwfuhMfm8Ar60bQ5fr+vU=
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20230531082742-c97d21411eb6 h1:aGQ6QaAnTerQ5Dq5b2/f9DUQtSqPkZZ/bkMx/HKuLCo=
|
git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20230531082742-c97d21411eb6 h1:aGQ6QaAnTerQ5Dq5b2/f9DUQtSqPkZZ/bkMx/HKuLCo=
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20230531082742-c97d21411eb6/go.mod h1:W8Nn08/l6aQ7UlIbpF7FsQou7TVpcRD1ZT1KG4TrFhE=
|
git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20230531082742-c97d21411eb6/go.mod h1:W8Nn08/l6aQ7UlIbpF7FsQou7TVpcRD1ZT1KG4TrFhE=
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20230928142024-84b9d29fc98c h1:c8mduKlc8Zioppz5o06QRYS5KYX3BFRO+NgKj2q6kD8=
|
git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20231019083813-5804128ff3d5 h1:P2HCnBTx+LwhMYSrs4sF8+jHvD1+HdS0fMtUPe2kTns=
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20230928142024-84b9d29fc98c/go.mod h1:t1akKcUH7iBrFHX8rSXScYMP17k2kYQXMbZooiL5Juw=
|
git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20231019083813-5804128ff3d5/go.mod h1:t1akKcUH7iBrFHX8rSXScYMP17k2kYQXMbZooiL5Juw=
|
||||||
git.frostfs.info/TrueCloudLab/hrw v1.2.1 h1:ccBRK21rFvY5R1WotI6LNoPlizk7qSvdfD8lNIRudVc=
|
git.frostfs.info/TrueCloudLab/hrw v1.2.1 h1:ccBRK21rFvY5R1WotI6LNoPlizk7qSvdfD8lNIRudVc=
|
||||||
git.frostfs.info/TrueCloudLab/hrw v1.2.1/go.mod h1:C1Ygde2n843yTZEQ0FP69jYiuaYV0kriLvP4zm8JuvM=
|
git.frostfs.info/TrueCloudLab/hrw v1.2.1/go.mod h1:C1Ygde2n843yTZEQ0FP69jYiuaYV0kriLvP4zm8JuvM=
|
||||||
git.frostfs.info/TrueCloudLab/rfc6979 v0.4.0 h1:M2KR3iBj7WpY3hP10IevfIB9MURr4O9mwVfJ+SjT3HA=
|
git.frostfs.info/TrueCloudLab/rfc6979 v0.4.0 h1:M2KR3iBj7WpY3hP10IevfIB9MURr4O9mwVfJ+SjT3HA=
|
||||||
|
|
|
@ -392,24 +392,14 @@ func PutObject(ctx context.Context, prm PutObjectPrm) (*PutObjectRes, error) {
|
||||||
ctx, span := tracing.StartSpanFromContext(ctx, "client.PutObject")
|
ctx, span := tracing.StartSpanFromContext(ctx, "client.PutObject")
|
||||||
defer span.End()
|
defer span.End()
|
||||||
|
|
||||||
var prmCli client.PrmObjectPutInit
|
prmCli := client.PrmObjectPutInit{
|
||||||
|
XHeaders: prm.xHeaders,
|
||||||
prmCli.MarkLocal()
|
BearerToken: prm.tokenBearer,
|
||||||
|
Session: prm.tokenSession,
|
||||||
if prm.key != nil {
|
Local: true,
|
||||||
prmCli.UseKey(*prm.key)
|
Key: prm.key,
|
||||||
}
|
}
|
||||||
|
|
||||||
if prm.tokenSession != nil {
|
|
||||||
prmCli.WithinSession(*prm.tokenSession)
|
|
||||||
}
|
|
||||||
|
|
||||||
if prm.tokenBearer != nil {
|
|
||||||
prmCli.WithBearerToken(*prm.tokenBearer)
|
|
||||||
}
|
|
||||||
|
|
||||||
prmCli.WithXHeaders(prm.xHeaders...)
|
|
||||||
|
|
||||||
w, err := prm.cli.ObjectPutInit(ctx, prmCli)
|
w, err := prm.cli.ObjectPutInit(ctx, prmCli)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("init object writing on client: %w", err)
|
return nil, fmt.Errorf("init object writing on client: %w", err)
|
||||||
|
@ -449,25 +439,15 @@ func PutObjectSingle(ctx context.Context, prm PutObjectPrm) (*PutObjectRes, erro
|
||||||
return nil, errors.New("missing object id")
|
return nil, errors.New("missing object id")
|
||||||
}
|
}
|
||||||
|
|
||||||
var prmCli client.PrmObjectPutSingle
|
prmCli := client.PrmObjectPutSingle{
|
||||||
|
XHeaders: prm.xHeaders,
|
||||||
prmCli.ExecuteLocal()
|
BearerToken: prm.tokenBearer,
|
||||||
|
Session: prm.tokenSession,
|
||||||
if prm.key != nil {
|
Local: true,
|
||||||
prmCli.UseKey(prm.key)
|
Key: prm.key,
|
||||||
|
Object: prm.obj,
|
||||||
}
|
}
|
||||||
|
|
||||||
if prm.tokenSession != nil {
|
|
||||||
prmCli.WithinSession(*prm.tokenSession)
|
|
||||||
}
|
|
||||||
|
|
||||||
if prm.tokenBearer != nil {
|
|
||||||
prmCli.WithBearerToken(*prm.tokenBearer)
|
|
||||||
}
|
|
||||||
|
|
||||||
prmCli.WithXHeaders(prm.xHeaders...)
|
|
||||||
prmCli.SetObject(prm.obj.ToV2())
|
|
||||||
|
|
||||||
res, err := prm.cli.ObjectPutSingle(ctx, prmCli)
|
res, err := prm.cli.ObjectPutSingle(ctx, prmCli)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ReportError(prm.cli, err)
|
ReportError(prm.cli, err)
|
||||||
|
|
Loading…
Add table
Reference in a new issue