forked from TrueCloudLab/frostfs-node
[#1307] go.mod: Bump frostfs-sdk-go/frostfs-api-go/v2 versions
* Also, resolve dependencies and conflicts for object service by creating stub for `Patch` method. Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
This commit is contained in:
parent
ec1509de4e
commit
a4a1c3f18b
15 changed files with 345 additions and 11 deletions
|
@ -35,6 +35,12 @@ type putStreamSigner struct {
|
|||
err error
|
||||
}
|
||||
|
||||
type patchStreamSigner struct {
|
||||
sigSvc *util.SignService
|
||||
stream PatchObjectstream
|
||||
err error
|
||||
}
|
||||
|
||||
type getRangeStreamSigner struct {
|
||||
GetObjectRangeStream
|
||||
sigSvc *util.SignService
|
||||
|
@ -112,6 +118,42 @@ func (s *SignService) Put() (PutObjectStream, error) {
|
|||
}, nil
|
||||
}
|
||||
|
||||
func (s *patchStreamSigner) Send(ctx context.Context, req *object.PatchRequest) error {
|
||||
if s.err = s.sigSvc.VerifyRequest(req); s.err != nil {
|
||||
return util.ErrAbortStream
|
||||
}
|
||||
if s.err = s.stream.Send(ctx, req); s.err != nil {
|
||||
return util.ErrAbortStream
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *patchStreamSigner) CloseAndRecv(ctx context.Context) (resp *object.PatchResponse, err error) {
|
||||
if s.err != nil {
|
||||
err = s.err
|
||||
resp = new(object.PatchResponse)
|
||||
} else {
|
||||
resp, err = s.stream.CloseAndRecv(ctx)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not close stream and receive response: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
return resp, s.sigSvc.SignResponse(resp, err)
|
||||
}
|
||||
|
||||
func (s *SignService) Patch() (PatchObjectstream, error) {
|
||||
stream, err := s.svc.Patch()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not create Put object streamer: %w", err)
|
||||
}
|
||||
|
||||
return &patchStreamSigner{
|
||||
stream: stream,
|
||||
sigSvc: s.sigSvc,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *SignService) Head(ctx context.Context, req *object.HeadRequest) (*object.HeadResponse, error) {
|
||||
if err := s.sigSvc.VerifyRequest(req); err != nil {
|
||||
resp := new(object.HeadResponse)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue