summaryrefslogtreecommitdiff
path: root/api-put-object-multipart.go
diff options
context:
space:
mode:
Diffstat (limited to 'api-put-object-multipart.go')
-rw-r--r--api-put-object-multipart.go15
1 files changed, 5 insertions, 10 deletions
diff --git a/api-put-object-multipart.go b/api-put-object-multipart.go
index f5b8893..52dc069 100644
--- a/api-put-object-multipart.go
+++ b/api-put-object-multipart.go
@@ -33,6 +33,7 @@ import (
"strconv"
"strings"
+ "github.com/minio/minio-go/pkg/encrypt"
"github.com/minio/minio-go/pkg/s3utils"
)
@@ -138,7 +139,7 @@ func (c Client) putObjectMultipartNoStream(ctx context.Context, bucketName, obje
// Proceed to upload the part.
var objPart ObjectPart
objPart, err = c.uploadPart(ctx, bucketName, objectName, uploadID, rd, partNumber,
- md5Base64, sha256Hex, int64(length), opts.UserMetadata)
+ md5Base64, sha256Hex, int64(length), opts.ServerSideEncryption)
if err != nil {
return totalUploadedSize, err
}
@@ -226,11 +227,9 @@ func (c Client) initiateMultipartUpload(ctx context.Context, bucketName, objectN
return initiateMultipartUploadResult, nil
}
-const serverEncryptionKeyPrefix = "x-amz-server-side-encryption"
-
// uploadPart - Uploads a part in a multipart upload.
func (c Client) uploadPart(ctx context.Context, bucketName, objectName, uploadID string, reader io.Reader,
- partNumber int, md5Base64, sha256Hex string, size int64, metadata map[string]string) (ObjectPart, error) {
+ partNumber int, md5Base64, sha256Hex string, size int64, sse encrypt.ServerSide) (ObjectPart, error) {
// Input validation.
if err := s3utils.CheckValidBucketName(bucketName); err != nil {
return ObjectPart{}, err
@@ -260,12 +259,8 @@ func (c Client) uploadPart(ctx context.Context, bucketName, objectName, uploadID
// Set encryption headers, if any.
customHeader := make(http.Header)
- for k, v := range metadata {
- if len(v) > 0 {
- if strings.HasPrefix(strings.ToLower(k), serverEncryptionKeyPrefix) {
- customHeader.Set(k, v)
- }
- }
+ if sse != nil && sse.Type() != encrypt.S3 && sse.Type() != encrypt.KMS {
+ sse.Marshal(customHeader)
}
reqMetadata := requestMetadata{