I have an S3 path that has a "+" in it, so it's encoded URI ends up with a "%2B" in it. Specifically, the S3 key is "A+B.txt", so the working S3 URL is -- and this is an actual working public URL that demonstrates it -- https://scih-data-dev.s3.amazonaws.com/A%2BB.txt
You can see you can access it with your browser, it's a file that just includes the string "content\n".
I think http-rb is doing something weird with escaping/unescaping there and requesting a different URL, which would then return a 403 from S3. I haven't debugged further this this yet, I'm not sure exactly what HTTP request is being made to the server -- but apparently not the right one, since all those other tools can retrieve this url?
Is there a bug of some kind when the URL contains %2B?
I have an S3 path that has a "+" in it, so it's encoded URI ends up with a "%2B" in it. Specifically, the S3 key is "A+B.txt", so the working S3 URL is -- and this is an actual working public URL that demonstrates it --
https://scih-data-dev.s3.amazonaws.com/A%2BB.txt
You can see you can access it with your browser, it's a file that just includes the string "content\n".
It can also be accessed with net::http:
No problem. It can also be accessed via curl, for what it's worth.
curl "https://scih-data-dev.s3.amazonaws.com/A%2BB.txt"
When I try to get it via http-rb however, S3 returns a 403 error.
I think http-rb is doing something weird with escaping/unescaping there and requesting a different URL, which would then return a 403 from S3. I haven't debugged further this this yet, I'm not sure exactly what HTTP request is being made to the server -- but apparently not the right one, since all those other tools can retrieve this url?
Is there a bug of some kind when the URL contains
%2B
?