Open
Conversation
"Reference": https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html Validated against AWS S3.
There was a problem hiding this comment.
Pull request overview
Adds support for additional checksum algorithms (MD5, SHA-512, XXHash64, XXH3-64, XXH3-128) across the client’s S3 request/response handling and functional validation.
Changes:
- Extend
ChecksumTypeto include MD5/SHA512/XXHash variants and provide hashing/size/header-key support. - Propagate new checksum fields through object/part data structures and response parsing paths (Put, multipart, list versions, object attributes).
- Expand functional tests to exercise the new checksum types; update example modules to Go 1.25 and add required hashing dependencies.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| utils.go | Include new checksum headers when building ObjectInfo from response headers. |
| checksum.go | Add new checksum types, header keys, hashers, raw sizes, and string representations. |
| api-datatypes.go | Add new checksum fields to UploadInfo and ObjectInfo. |
| api-s3-datatypes.go | Extend XML datatypes (versions, parts, multipart results) with new checksum fields. |
| api-get-object-attributes.go | Extend GetObjectAttributes checksum XML fields and mapping helpers. |
| api-put-object.go | Carry new per-part checksum fields through multipart stream flows. |
| api-put-object-streaming.go | Carry new per-part checksum fields through streaming multipart flows and PutObject response parsing. |
| api-put-object-multipart.go | Carry new per-part checksum fields and include them in complete-multipart results. |
| api-append-object.go | Include new checksum headers in append response parsing. |
| api-list.go | Populate new checksum fields when listing object versions. |
| functional_tests.go | Add coverage for the new checksum algorithms in put/streaming/multipart checksum tests. |
| go.mod | Add xxhash/v2 and zeebo/xxh3 dependencies. |
| go.sum | Add checksums for new dependencies and transitive modules. |
| examples/s3/go.mod | Align example module to Go 1.25. |
| examples/minio/go.mod | Align example module to Go 1.25. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
f1d5e05 to
c01553c
Compare
Contributor
Author
|
Obviously running mint fails since it tests against old minio version. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
"Reference": https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html
Validated against AWS S3.