Skip to content

Commit e99fa99

Browse files
author
Sharon Shabtai
authored
Merge pull request #96 from RachelTucker/v5_1_x_update-complete-blob
OTHER: updating CompleteBlob request to have optional metadata and checksum
2 parents 57fd8e1 + 3c9fa2a commit e99fa99

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

ds3/ds3Posts.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ func (client *Client) CompleteBlob(request *models.CompleteBlobRequest) (*models
2525
WithPath("/" + request.BucketName + "/" + request.ObjectName).
2626
WithQueryParam("blob", request.Blob).
2727
WithQueryParam("job", request.Job).
28+
WithOptionalQueryParam("size", networking.Int64PtrToStrPtr(request.Size)).
29+
WithChecksum(request.Checksum).
30+
WithHeaders(request.Metadata).
2831
Build(client.connectionInfo)
2932

3033
if err != nil {

ds3/models/requests.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

4245
func 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+
}
5176
type CompleteMultiPartUploadRequest struct {
5277
BucketName string
5378
ObjectName string

0 commit comments

Comments
 (0)