Description
uploadTextFile() and downloadTextFile() correctly call urlEncode(key, true) when
building their request URLs. However, createMultipartUpload(), multipartUploadPart(),
completeMultipartUpload(), and abortMultipartUpload() concatenate the object key directly
into the URL without encoding. Object keys containing spaces, +, #, or other reserved
characters will produce malformed URLs, incorrect SigV4 signatures, and failed requests.
Steps to reproduce
- Call
uploadFile() with an objectKey containing a space (e.g., "my folder/file.txt").
- The internally called
createMultipartUpload() constructs:
endpoint + bucketName + "/" + key + "?uploads="
The space is not encoded, producing a broken URL.
Expected behavior
All methods that embed an object key in a URL should call urlEncode(key, true).
Actual behavior
Keys with special characters produce malformed URLs and authentication failures.
Affected file
client/src/main/java/com/hedera/bucky/S3Client.java — lines ~436, ~481, ~530, ~400
Additional context
No response
Hedera network
No response
Version
v0.1.0
Operating system
None
Description
uploadTextFile()anddownloadTextFile()correctly callurlEncode(key, true)whenbuilding their request URLs. However,
createMultipartUpload(),multipartUploadPart(),completeMultipartUpload(), andabortMultipartUpload()concatenate the object key directlyinto the URL without encoding. Object keys containing spaces,
+,#, or other reservedcharacters will produce malformed URLs, incorrect SigV4 signatures, and failed requests.
Steps to reproduce
uploadFile()with anobjectKeycontaining a space (e.g.,"my folder/file.txt").createMultipartUpload()constructs:endpoint + bucketName + "/" + key + "?uploads="The space is not encoded, producing a broken URL.
Expected behavior
All methods that embed an object key in a URL should call
urlEncode(key, true).Actual behavior
Keys with special characters produce malformed URLs and authentication failures.
Affected file
client/src/main/java/com/hedera/bucky/S3Client.java— lines ~436, ~481, ~530, ~400Additional context
No response
Hedera network
No response
Version
v0.1.0
Operating system
None