Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ObjectWriteResponse: return checksums if any #1609

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

kzhsw
Copy link
Contributor

@kzhsw kzhsw commented Jan 2, 2025

Currently PutObject, CopyObject, CompleteMultipartUpload could return checksums, but client api for CopyObjectResult and ObjectWriteResponse does not return it. This commit adds checksums to CopyObjectResult and ObjectWriteResponse to allow users to get checksums if any.
Close #1608

References:
https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#API_PutObject_ResponseSyntax
https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_ResponseSyntax
https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#API_CopyObject_ResponseSyntax

Currently `PutObject`, `CopyObject`, `CompleteMultipartUpload` could return checksums, but client api for `CopyObjectResult` and `ObjectWriteResponse` does not return it.
This commit adds checksums to `CopyObjectResult` and `ObjectWriteResponse` to allow users to get checksums if any.
Close minio#1608

References:
<https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#API_PutObject_ResponseSyntax>
<https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_ResponseSyntax>
<https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#API_CopyObject_ResponseSyntax>
harshavardhana
harshavardhana previously approved these changes Jan 2, 2025
@@ -30,11 +34,40 @@ public ObjectWriteResponse(
this.versionId = versionId;
}

public ObjectWriteResponse(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. By default, populate checksums from headers
  2. Accept CopyObjectResult as an additional argument and populate checksums
  3. Accept CompleteMultipartUploadResult as an additional argument and populate checkums

1. By default, populate checksums from headers
2. Accept CopyObjectResult as an additional argument and populate checksums
2. Accept CompleteMultipartUploadResult as an additional argument and populate checksums

<minio#1609 (comment)>
@balamurugana
Copy link
Member

@kzhsw Avoid refreshing/sending PR without testing locally.

@kzhsw
Copy link
Contributor Author

kzhsw commented Jan 6, 2025

@kzhsw Avoid refreshing/sending PR without testing locally.

Sorry, just had a hard time with my local gradle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

checksums in CopyObjectResult
3 participants