versity / versitygw

versity s3 gateway
https://www.versity.com/products/versitygw/
Apache License 2.0
169 stars 21 forks source link

versity allows directory object to be retrieved without trailing / #824

Closed tonyipm closed 6 days ago

tonyipm commented 1 week ago

Describe the bug s3api get-object --key mydirectory --bucket mybucket mytarget works and creates a downloaded file, but aws s3 returns 'key not found' s3api get-object --key mydirectory/ --bucket mybucket mytarget works the same for both versity and aws

s3api head-object --key mydirectory/ --bucket mybucket returns ContentLength:512 while aws returns ContentLength 0

To Reproduce aws s3api put-object --key fff/ --bucket tonyitest aws s3api get-object --key fff/ --bucket tonyitest aws s3api get-object --key fff --bucket tonyitest

The third command above returns output for versity but 'key not found' on aws

aws s3api head-object --key fff/ --bucket tonyitest

The above command returns "ContentLength": 0 on aws, but "ContentLength": 512 on versity. Interestingly, 'get-object' returns "ContentLength": 0 on versity.


Expected behavior Versity behaviour should match aws s3. Versity get-object and head-object output should be consistent for the same object

Server Version Cloned and built 19 sep 2024

Additional context