singhsaabir opened a new pull request, #636:
URL: https://github.com/apache/arrow-rs-object-store/pull/636

   When using `ClientOptions::with_default_headers()` to set S3 metadata 
headers (like `x-amz-meta-*` or `x-amz-tagging`), these headers were not 
included in the AWS SigV4 signature calculation, causing S3 to reject requests 
with "headers present i
   n the request which were not signed".
   
   This fix adds default headers to the request before signing in all three S3 
request paths: `S3Client::request()`, `bulk_delete_request()`, and 
`get_request()`.
   
   # Which issue does this PR close?
   
   Closes #484.
   
   # Rationale for this change
   
   Explained in the issue - default headers set via 
`ClientOptions::with_default_headers()` were not being signed, causing S3 to 
reject requests.
   
   # What changes are included in this PR?
   
   - Added `get_default_headers()` getter to `ClientOptions`
   - Modified `S3Client::request()`, `bulk_delete_request()`, and 
`get_request()` to add default headers before signing
   - Added test verifying default headers are included in signature
   
   # Are there any user-facing changes?
   
   No breaking changes. Default headers set via 
`ClientOptions::with_default_headers()` will now work correctly with S3.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to