diff --git a/pkg/client/object.go b/pkg/client/object.go index e7edcd0..5c11189 100644 --- a/pkg/client/object.go +++ b/pkg/client/object.go @@ -174,12 +174,6 @@ func (c *Client) PutObject(ctx context.Context, p *PutObjectParams, opts ...Call } func (c *Client) putObjectV2(ctx context.Context, p *PutObjectParams, opts ...CallOption) (*object.ID, error) { - // convert object to V2 - obj, err := p.obj.ToV2(c.key) - if err != nil { - return nil, errors.Wrap(err, "could not convert object to V2") - } - // create V2 Object client cli, err := v2ObjectClient(c.remoteNode.Protocol, c.opts) if err != nil { @@ -213,6 +207,8 @@ func (c *Client) putObjectV2(ctx context.Context, p *PutObjectParams, opts ...Ca initPart := new(v2object.PutObjectPartInit) body.SetObjectPart(initPart) + obj := p.obj.ToV2() + // set init part fields initPart.SetObjectID(obj.GetObjectID()) initPart.SetSignature(obj.GetSignature()) @@ -447,12 +443,7 @@ func (c *Client) getObjectV2(ctx context.Context, p *GetObjectParams, opts ...Ca obj.SetPayload(payload) // convert the object - res, err := object.FromV2(obj) - if err != nil { - return nil, errors.Wrap(err, "could not convert V2 object") - } - - return res, nil + return object.NewFromV2(obj), nil } func (p *ObjectHeaderParams) WithAddress(v *object.Address) *ObjectHeaderParams { @@ -575,12 +566,7 @@ func (c *Client) getObjectHeaderV2(ctx context.Context, p *ObjectHeaderParams, o obj.SetHeader(hdr) // convert the object - res, err := object.FromV2(obj) - if err != nil { - return nil, errors.Wrap(err, "could not convert object") - } - - return res, nil + return object.NewFromV2(obj), nil } func (p *RangeDataParams) WithAddress(v *object.Address) *RangeDataParams {