forked from TrueCloudLab/frostfs-node
[#1115] services/object: reuse errors from core service
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
parent
4caa330ddc
commit
692790a899
2 changed files with 9 additions and 19 deletions
|
@ -1,7 +1,6 @@
|
||||||
package putsvc
|
package putsvc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/nspcc-dev/neofs-api-go/v2/object"
|
"github.com/nspcc-dev/neofs-api-go/v2/object"
|
||||||
|
@ -31,15 +30,6 @@ type sizes struct {
|
||||||
writtenPayload uint64 // sum size of already cached chunks
|
writtenPayload uint64 // sum size of already cached chunks
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: errors are copy-pasted from putsvc package
|
|
||||||
// consider replacing to core library
|
|
||||||
|
|
||||||
// errors related to invalid payload size
|
|
||||||
var (
|
|
||||||
errExceedingMaxSize = errors.New("payload size is greater than the limit")
|
|
||||||
errWrongPayloadSize = errors.New("wrong payload size")
|
|
||||||
)
|
|
||||||
|
|
||||||
func (s *streamer) Send(req *object.PutRequest) (err error) {
|
func (s *streamer) Send(req *object.PutRequest) (err error) {
|
||||||
switch v := req.GetBody().GetObjectPart().(type) {
|
switch v := req.GetBody().GetObjectPart().(type) {
|
||||||
case *object.PutObjectPartInit:
|
case *object.PutObjectPartInit:
|
||||||
|
@ -64,7 +54,7 @@ func (s *streamer) Send(req *object.PutRequest) (err error) {
|
||||||
|
|
||||||
// check payload size limit overflow
|
// check payload size limit overflow
|
||||||
if s.payloadSz > maxSz {
|
if s.payloadSz > maxSz {
|
||||||
return errExceedingMaxSize
|
return putsvc.ErrExceedingMaxSize
|
||||||
}
|
}
|
||||||
|
|
||||||
s.init = req
|
s.init = req
|
||||||
|
@ -75,7 +65,7 @@ func (s *streamer) Send(req *object.PutRequest) (err error) {
|
||||||
|
|
||||||
// check payload size overflow
|
// check payload size overflow
|
||||||
if s.writtenPayload > s.payloadSz {
|
if s.writtenPayload > s.payloadSz {
|
||||||
return errWrongPayloadSize
|
return putsvc.ErrWrongPayloadSize
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,7 +105,7 @@ func (s *streamer) CloseAndRecv() (*object.PutResponse, error) {
|
||||||
if s.saveChunks {
|
if s.saveChunks {
|
||||||
// check payload size correctness
|
// check payload size correctness
|
||||||
if s.writtenPayload != s.payloadSz {
|
if s.writtenPayload != s.payloadSz {
|
||||||
return nil, errWrongPayloadSize
|
return nil, putsvc.ErrWrongPayloadSize
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,8 @@ type validatingTarget struct {
|
||||||
|
|
||||||
// errors related to invalid payload size
|
// errors related to invalid payload size
|
||||||
var (
|
var (
|
||||||
errExceedingMaxSize = errors.New("payload size is greater than the limit")
|
ErrExceedingMaxSize = errors.New("payload size is greater than the limit")
|
||||||
errWrongPayloadSize = errors.New("wrong payload size")
|
ErrWrongPayloadSize = errors.New("wrong payload size")
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t *validatingTarget) WriteHeader(obj *object.RawObject) error {
|
func (t *validatingTarget) WriteHeader(obj *object.RawObject) error {
|
||||||
|
@ -41,12 +41,12 @@ func (t *validatingTarget) WriteHeader(obj *object.RawObject) error {
|
||||||
|
|
||||||
// check chunk size
|
// check chunk size
|
||||||
if chunkLn > t.payloadSz {
|
if chunkLn > t.payloadSz {
|
||||||
return errWrongPayloadSize
|
return ErrWrongPayloadSize
|
||||||
}
|
}
|
||||||
|
|
||||||
// check payload size limit
|
// check payload size limit
|
||||||
if t.payloadSz > t.maxPayloadSz {
|
if t.payloadSz > t.maxPayloadSz {
|
||||||
return errExceedingMaxSize
|
return ErrExceedingMaxSize
|
||||||
}
|
}
|
||||||
|
|
||||||
cs := obj.PayloadChecksum()
|
cs := obj.PayloadChecksum()
|
||||||
|
@ -84,7 +84,7 @@ func (t *validatingTarget) Write(p []byte) (n int, err error) {
|
||||||
|
|
||||||
// check if new chunk will overflow payload size
|
// check if new chunk will overflow payload size
|
||||||
if t.writtenPayload+chunkLn > t.payloadSz {
|
if t.writtenPayload+chunkLn > t.payloadSz {
|
||||||
return 0, errWrongPayloadSize
|
return 0, ErrWrongPayloadSize
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = t.hash.Write(p)
|
_, err = t.hash.Write(p)
|
||||||
|
@ -103,7 +103,7 @@ func (t *validatingTarget) Write(p []byte) (n int, err error) {
|
||||||
func (t *validatingTarget) Close() (*transformer.AccessIdentifiers, error) {
|
func (t *validatingTarget) Close() (*transformer.AccessIdentifiers, error) {
|
||||||
// check payload size correctness
|
// check payload size correctness
|
||||||
if t.payloadSz != t.writtenPayload {
|
if t.payloadSz != t.writtenPayload {
|
||||||
return nil, errWrongPayloadSize
|
return nil, ErrWrongPayloadSize
|
||||||
}
|
}
|
||||||
|
|
||||||
if !bytes.Equal(t.hash.Sum(nil), t.checksum) {
|
if !bytes.Equal(t.hash.Sum(nil), t.checksum) {
|
||||||
|
|
Loading…
Reference in a new issue