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

   # Which issue does this PR close?
   
   Closes #877.
   
   # Rationale for this change
   
   `list_request` built and signed its request without the `ClientOptions` 
default headers, unlike `request`, `get_request`, `bulk_delete_request` and 
`complete_multipart` (#636, #688). reqwest still adds the default headers when 
the request is sent, so they go out unsigned and S3 rejects any `x-amz-*` 
default header on LIST with `403 HeadersNotSigned`.
   
   # What changes are included in this PR?
   
   - `list_request` copies the default headers into the request before SigV4 
signing, the same way the other request paths do.
   - New test `test_default_headers_signed_list_request`. It records the 
request headers and checks them after the call returns, because `MockServer` 
swallows a panic raised inside its handler. It fails on `main` and passes with 
this change.
   
   # Are there any user-facing changes?
   
   S3 list requests now carry and sign the configured default headers. No API 
changes.
   
   I used an AI coding assistant to help write this change and the test. I 
reviewed the diff and ran the `aws` tests and clippy locally.
   


-- 
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