Shubham-Padkonde opened a new pull request, #2189:
URL: https://github.com/apache/libcloud/pull/2189

   ### Description
   
   Addresses #1654 with the per-driver opt-in discussed in the issue. S3 object 
names may contain leading or repeated slashes, but the default connection URL 
normalization can collapse them. Deleting such a key can return success for a 
different path while leaving the intended object in the bucket.
   
   Add `S3StorageDriver(..., ex_allow_path_double_slashes=True)` to preserve 
the request path before signing and sending it. The default remains unchanged, 
the existing global setting remains supported, and enabling the option does not 
affect another driver instance. Includes documentation and a changelog entry.
   
   Regression tests inspect the outgoing DELETE request for `/object`, 
`path//object`, and `//path///object`, and verify per-driver isolation and 
global-setting compatibility. Before the fix, all three request-path assertions 
and the per-driver assertion fail.
   
   ### Status
   
   Ready for review. Prepared with OpenAI Codex assistance.
   
   Validation:
   - Linux / Python 3.14: `python -m pytest libcloud/test/storage/test_s3.py 
libcloud/test/common/test_base.py libcloud/test/test_connection.py -q` — **89 
passed, 1 skipped, 3 subtests passed**.
   - Black, isort, flake8 on both changed Python files; configured Pylint error 
check on the production file; `git diff --check` — passed.
   - An initial Windows / Python 3.12 run had two existing download-test 
temporary-file failures; both pass on Linux. Existing datetime deprecation 
warnings remain.
   - No live AWS account testing or full provider suite run. HTTP responses are 
mocked; request construction and signing use the real driver.
   
   ### Checklist
   
   - [x] Code linting
   - [x] Documentation
   - [x] Tests
   - [ ] ICLA (no signature claimed; this is a small driver option and 
regression fix)
   


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