mirror of
https://github.com/minio/minio.git
synced 2025-11-09 05:34:56 -05:00
Add base64 encoded MD5 output for Hash Reader (#5315)
- Use it to send the Content-MD5 header correctly encoded to S3 Gateway - Fixes a bug in PutObject (including anonymous PutObject) and PutObjectPart with S3 Gateway found when testing with Mint.
This commit is contained in:
committed by
kannappanr
parent
bbe521ffec
commit
f1355da72e
@@ -20,6 +20,7 @@ import (
|
||||
"bytes"
|
||||
"crypto/md5"
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
"hash"
|
||||
@@ -117,6 +118,11 @@ func (r *Reader) MD5HexString() string {
|
||||
return hex.EncodeToString(r.md5sum)
|
||||
}
|
||||
|
||||
// MD5Base64String returns base64 encoded MD5sum value.
|
||||
func (r *Reader) MD5Base64String() string {
|
||||
return base64.StdEncoding.EncodeToString(r.md5sum)
|
||||
}
|
||||
|
||||
// SHA256HexString returns hex sha256 value.
|
||||
func (r *Reader) SHA256HexString() string {
|
||||
return hex.EncodeToString(r.sha256sum)
|
||||
|
||||
@@ -40,6 +40,9 @@ func TestHashReaderHelperMethods(t *testing.T) {
|
||||
if r.SHA256HexString() != "88d4266fd4e6338d13b845fcf289579d209c897823b9217da3e161936f031589" {
|
||||
t.Errorf("Expected sha256hex \"88d4266fd4e6338d13b845fcf289579d209c897823b9217da3e161936f031589\", got %s", r.SHA256HexString())
|
||||
}
|
||||
if r.MD5Base64String() != "4vxxTEcn7pOV8yTNLn8zHw==" {
|
||||
t.Errorf("Expected md5base64 \"4vxxTEcn7pOV8yTNLn8zHw==\", got \"%s\"", r.MD5Base64String())
|
||||
}
|
||||
if r.Size() != 4 {
|
||||
t.Errorf("Expected size 4, got %d", r.Size())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user