Genbox / SimpleS3

A .NET Core implementation of Amazon's S3 API with focus on simplicity, security and performance
MIT License
44 stars 8 forks source link

Usability layer #23

Closed Genbox closed 3 years ago

Genbox commented 4 years ago

There are a lot of pitfalls when using S3. Most of them are in bucket names and object keys. For example, Amazon has deprecated path style buckets with limits the valid characters for buckets since they now have to be valid DNS labels.

This means it is possible for a user to create a bucket via path style, that can't be deleted using virtual host style. The same problem is evident in object keys, as it is possible to PUT objects with 0x01 in the name, but impossible to delete using DeleteObjects since object keys have to be valid XML 1.0 characters.

For this reason, there should be a usability layer based on validation that ensures that any bucket or object created through the library is possible to copy and delete later on.

Genbox commented 3 years ago

This has been implemented.