[#431] Fix ETag value

ETag is a string with SHA256 of NeoFS object payload.
Hash is taken from object header by neofs-sdk-go getter.
Checksum type in neofs-sdk-go has changes `String()`
output from `<hash>` to `SHA256:<hash>` in latest update.

S3 gateway should not be relied on unstable string format
implementations and use raw value.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
Alex Vanin 2022-05-12 19:58:11 +03:00 committed by Kira
parent 1c33f06bfe
commit b778c2e072
3 changed files with 6 additions and 3 deletions

View file

@ -2,6 +2,7 @@ package layer
import (
"context"
"encoding/hex"
"fmt"
"os"
"strconv"
@ -126,7 +127,7 @@ func objectInfoFromMeta(bkt *data.BucketInfo, meta *object.Object, prefix, delim
Headers: userHeaders,
Owner: meta.OwnerID(),
Size: size,
HashSum: payloadChecksum.String(),
HashSum: hex.EncodeToString(payloadChecksum.Value()),
}
}