Summary
Ensure metadata replacement for copy also works when the action chooses the SDK's copyLargeFile path.
Why
#108 covers metadata replacement for server-side copy, but explicitly leaves large-file copy metadata handling out of scope. The SDK's copyLargeFile accepts destination contentType and fileInfo, so large objects should not lose feature parity with small objects just because they cross the multipart threshold.
SDK support (already available)
Bucket.copyLargeFile({ contentType, fileInfo })
Bucket.copyFile({ metadataDirective, contentType, fileInfo })
CopyFileRequest.metadataDirective
Proposed surface
After #108 defines metadata-directive, content-type, and file-info, forward the corresponding destination metadata to copyLargeFile when the source size requires multipart copy.
Acceptance criteria
Out of scope
Summary
Ensure metadata replacement for
copyalso works when the action chooses the SDK'scopyLargeFilepath.Why
#108 covers metadata replacement for server-side copy, but explicitly leaves large-file copy metadata handling out of scope. The SDK's
copyLargeFileaccepts destinationcontentTypeandfileInfo, so large objects should not lose feature parity with small objects just because they cross the multipart threshold.SDK support (already available)
Bucket.copyLargeFile({ contentType, fileInfo })Bucket.copyFile({ metadataDirective, contentType, fileInfo })CopyFileRequest.metadataDirectiveProposed surface
After #108 defines
metadata-directive,content-type, andfile-info, forward the corresponding destination metadata tocopyLargeFilewhen the source size requires multipart copy.Acceptance criteria
copycan set destinationcontentType.copycan set destinationfileInfo.Out of scope