IMO The “CFML way” is to lowercase the names automagically so that the filesystem becomes virtually case-insensitive, like most CFML constructs (with the exception of *nix file systems).
you no longer can create upper case buckets but existing are still fine, so you still can have multople buckets with the same name but different case.
If we do this, we should habe a flag for it. this.s3.casesensitive=true;
as detail for the exception? "could not create the bucket ["+bucketName+"], please consult the following website to learn about Bucket Restrictions and Limitations: https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html"