It's to do with efficiency of listing directories. If you use mime type then you can't tell the difference between files and directories when listing bucket keys. So you have to query each key in a directory which can be prohibitively slow. But if you use the _$folder$ suffix convention (which S3Fox uses too BTW) you can easily distinguish files and directories.
From what I can tell, s3service.listObjects returns an array of S3Object, where each instance already has any associated meta-data in a HashMap. Content-Type being one of them. So I think the penalty has been paid.
Here is the jets3t code.
are you seeing a different behavior or disabling meta-data in jets3t for performance reasons? Sorry if i seem little rusty on my jets3t api..
The code should be doing this. I agree that it's useful - in fact, the other s3 filesystem needs updating to do this too.
Sorry, didn't see where the checksum was being validated on a read. I see it in NativeS3FsOutputStream but not NativeS3FsInputStream. Does Jets3t do this automatically? If so cool.
Have you done this elsewhere?
I believe those are the only two values that can be munged due to a underscore in the authority.