@@ -36,7 +36,10 @@ type CompleteBlobRequest struct {
3636 BucketName string
3737 ObjectName string
3838 Blob string
39+ Checksum Checksum
3940 Job string
41+ Metadata map [string ]string
42+ Size * int64
4043}
4144
4245func NewCompleteBlobRequest (bucketName string , objectName string , blob string , job string ) * CompleteBlobRequest {
@@ -45,9 +48,31 @@ func NewCompleteBlobRequest(bucketName string, objectName string, blob string, j
4548 ObjectName : objectName ,
4649 Blob : blob ,
4750 Job : job ,
51+ Checksum : NewNoneChecksum (),
52+ Metadata : make (map [string ]string ),
4853 }
4954}
5055
56+ func (completeBlobRequest * CompleteBlobRequest ) WithSize (size int64 ) * CompleteBlobRequest {
57+ completeBlobRequest .Size = & size
58+ return completeBlobRequest
59+ }
60+
61+
62+ func (completeBlobRequest * CompleteBlobRequest ) WithChecksum (contentHash string , checksumType ChecksumType ) * CompleteBlobRequest {
63+ completeBlobRequest .Checksum .ContentHash = contentHash
64+ completeBlobRequest .Checksum .Type = checksumType
65+ return completeBlobRequest
66+ }
67+
68+ func (completeBlobRequest * CompleteBlobRequest ) WithMetaData (key string , values ... string ) * CompleteBlobRequest {
69+ if strings .HasPrefix (strings .ToLower (key ), AMZ_META_HEADER ) {
70+ completeBlobRequest .Metadata [key ] = strings .Join (values , "," )
71+ } else {
72+ completeBlobRequest .Metadata [strings .ToLower (AMZ_META_HEADER + key )] = strings .Join (values , "," )
73+ }
74+ return completeBlobRequest
75+ }
5176type CompleteMultiPartUploadRequest struct {
5277 BucketName string
5378 ObjectName string
0 commit comments