mirror of
https://github.com/versity/versitygw.git
synced 2026-01-07 12:15:18 +00:00
feat: Implements object meta properties for CopyObject in azure and posix backends.
Fixes #998 Closes #1125 Closes #1126 Closes #1127 Implements objects meta properties(Content-Disposition, Content-Language, Content-Encoding, Cache-Control, Expires) and tagging besed on the directives(metadata, tagging) in CopyObject in posix and azure backends. The properties/tagging should be coppied from the source object if "COPY" directive is provided and it should be replaced otherwise. Changes the object copy principle in azure: instead of using the `CopyFromURL` method from azure sdk, it first loads the object then creates one, to be able to compare and store the meta properties.
This commit is contained in:
@@ -524,6 +524,53 @@ type CreateMultipartUploadInput struct {
|
||||
StorageClass types.StorageClass
|
||||
}
|
||||
|
||||
type CopyObjectInput struct {
|
||||
Metadata map[string]string
|
||||
Bucket *string
|
||||
CopySource *string
|
||||
Key *string
|
||||
CacheControl *string
|
||||
ContentDisposition *string
|
||||
ContentEncoding *string
|
||||
ContentLanguage *string
|
||||
ContentType *string
|
||||
CopySourceIfMatch *string
|
||||
CopySourceIfNoneMatch *string
|
||||
CopySourceSSECustomerAlgorithm *string
|
||||
CopySourceSSECustomerKey *string
|
||||
CopySourceSSECustomerKeyMD5 *string
|
||||
ExpectedBucketOwner *string
|
||||
ExpectedSourceBucketOwner *string
|
||||
Expires *string
|
||||
GrantFullControl *string
|
||||
GrantRead *string
|
||||
GrantReadACP *string
|
||||
GrantWriteACP *string
|
||||
SSECustomerAlgorithm *string
|
||||
SSECustomerKey *string
|
||||
SSECustomerKeyMD5 *string
|
||||
SSEKMSEncryptionContext *string
|
||||
SSEKMSKeyId *string
|
||||
Tagging *string
|
||||
WebsiteRedirectLocation *string
|
||||
|
||||
CopySourceIfModifiedSince *time.Time
|
||||
CopySourceIfUnmodifiedSince *time.Time
|
||||
ObjectLockRetainUntilDate *time.Time
|
||||
|
||||
BucketKeyEnabled *bool
|
||||
|
||||
ACL types.ObjectCannedACL
|
||||
ChecksumAlgorithm types.ChecksumAlgorithm
|
||||
MetadataDirective types.MetadataDirective
|
||||
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
|
||||
ObjectLockMode types.ObjectLockMode
|
||||
RequestPayer types.RequestPayer
|
||||
ServerSideEncryption types.ServerSideEncryption
|
||||
StorageClass types.StorageClass
|
||||
TaggingDirective types.TaggingDirective
|
||||
}
|
||||
|
||||
type AmzDate struct {
|
||||
time.Time
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user