-
-
Notifications
You must be signed in to change notification settings - Fork 354
Open
Description
Currently Content-Md5 is always added to mutlipart uploads (unless disable_content_md5_validation is enabled), but it is only added if the client manually adds the content_md5 option.
This is a bit annoying for several reasons:
- A Fog client that uses Google must consider AWS-specific options and manually compute the MD5 checksum.
- If AWS Object Lock (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) is enabled, uploads will fail outright if
Content-Md5is not provided:
Excon::Error::BadRequest: Expected(200) <=> Actual(400 Bad Request)
excon.error.response
:body => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidRequest</Code><Message>Content-MD5 OR x-amz-checksum- HTTP header is required for Put Object requests with Object Lock parameters</Message><RequestId>C7H4DABRG21TNJ0D</RequestId><HostId>O+9dQHb2K9hRWofRK7OgsrsBMg/O965PJ0KFZzY8pXU4fujkB1erBm4Rk51tAlYsMrMa5DAMwsvnHq76UPyCW8UcGnfVIZ47t1ZCUiGMgzg=</HostId></Error>"
FYI, AWS recently default enabled CRC32 checksums in the Go SDK (aws/aws-sdk-go-v2#2960), but this has caused problems with third-party providers.
I propose that there be an option to configure fog-aws to enable MD5 checksums for PutObject requests by default.
Metadata
Metadata
Assignees
Labels
No labels