STANDARD storage class omitted
I'm building an S3 client and recently added S3Mock to the test matrix.
I noticed that the storage class is omitted when it's STANDARD. Looking at the changelog, this seems to be intentional: https://github.com/adobe/S3Mock/blob/db1e4a4f431b78bb8ee561f6f8ab7e20f0cbaf6d/CHANGELOG.md?plain=1#L613
The AWS docs declare StorageClass as nullable, so it's valid to omit it.
However, S3Mock is the only implementation - that I've tested so far - that does that. In my tests, AWS S3, Hetzner, Ceph, Garage, Minio, LocalStack and Backblaze include the storage class.
This brings up the question: As S3Mock is a mocking library that is used to reflect real-world-use, is this intentional? I want to emphasize that it's technically valid to omit the storage class as per AWS docs. I'm just not sure whether that's what this project wants to do.
I tested all ITs against S3 in May 2024, and almost every test that validated the storage class if it was STANDARD failed against AWS APIs: https://github.com/adobe/S3Mock/commit/a97f2f3cb2912ff23bd923779f087e692ea01022
Maybe that changed in the last 18 months?
Maybe it only affects ListObjectsV2. It seems to be omitted by some services on ListMultipartUploads. Or it has changed. I'll check.
have you had time to check this yet?