Currently the C++ SDK sanitizes/normalizes uri paths that prevents us from interacting with other SDKs S3 keys. for example a S3 object with the key ///cpp/sdk/fizz would become cpp/sdk/fizz currently. as well as /cpp////sdk/fizz becoming cpp/sdk/fizz. This introduces a SDK configuration level option to keep delimiters when constructing URIs. THIS WILL BE OFF BY DEFAULT FOR BACKWARD COMPATIBILITY. By enabling this configuration the SDK will be aligned with other SDKs and the CLI on key paths.
Check all that applies:
[x] Did a review by yourself.
[x] Added proper tests to cover this PR. (If tests are not applicable, explain.)
[x] Checked if this PR is a breaking (APIs have been changed) change.
[x] Checked if this PR will not introduce cross-platform inconsistent behavior.
[x] Checked if this PR would require a ReadMe/Wiki update.
Check which platforms you have built SDK on to verify the correctness of this PR.
[x] Linux
[x] Windows
[ ] Android
[x] MacOS
[ ] IOS
[ ] Other Platforms
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Description of changes:
Currently the C++ SDK sanitizes/normalizes uri paths that prevents us from interacting with other SDKs S3 keys. for example a S3 object with the key
///cpp/sdk/fizz
would becomecpp/sdk/fizz
currently. as well as/cpp////sdk/fizz
becomingcpp/sdk/fizz
. This introduces a SDK configuration level option to keep delimiters when constructing URIs. THIS WILL BE OFF BY DEFAULT FOR BACKWARD COMPATIBILITY. By enabling this configuration the SDK will be aligned with other SDKs and the CLI on key paths.Check all that applies:
Check which platforms you have built SDK on to verify the correctness of this PR.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.