k6-jslib-aws icon indicating copy to clipboard operation
k6-jslib-aws copied to clipboard

Signature does not match when S3 object has special symbols in path

Open nickcaballero opened this issue 1 year ago • 2 comments

Calling getObject or listObjects on the S3 client with a URL that has a = in the path fails. According to diagram from AWS documentation, the URI should also be encoded, except for forward slashes.

diagram

Using folder structures like bucket/state=fl/city=orlando/data.json is fairly common.

nickcaballero avatar Nov 03 '23 00:11 nickcaballero

I have a commit that seems to fix it, but it needs more testing, and we may want to rename the uriEscapePath to something else since it's a bit of a misnomer.

nickcaballero avatar Nov 03 '23 00:11 nickcaballero

Sounds good, I've checked your commit, seems sound, but I'll test it more thoroughly once a PR is opened. Thanks a lot for taking the time to fix it 🙇🏻

oleiade avatar Nov 06 '23 14:11 oleiade

Hey @nickcaballero, I believe this is fixed by version v0.12.3 where we explicitly addressed the URI encoding/double encoding scenarios involving spaces and special characters.

I will close this as a result, but please feel free to take it for a spin, and if you still find breaking use cases, let us know, and we'll reopen it 🙇🏻

oleiade avatar May 31 '24 07:05 oleiade