minio/minio-dotnet

ETag Double Quote Inconsistency

subliminal-nm opened this issue · 1 comments

There seems to be an inconsistency in the way that ETags are handled. Calls to GetObjectAsync and StatObjectAsync strip the double quotes -

ObjectStat.cs

                case "etag":
                    objInfo.ETag = paramValue.Replace("\"", string.Empty, StringComparison.OrdinalIgnoreCase);
                    break;

while PutObjectAsync does not strip the quotes -

PutObjectResponse.cs

           if (parameter.Key.Equals("ETag", StringComparison.OrdinalIgnoreCase))
           {
               Etag = parameter.Value;
               break;
           }

The format of an ETag should be consistent across the whole API.

Also, there is an inconsistency in the spelling. PutObjectResponse uses a lower case 't' in Etag, while ObjectStat uses an upper case 'T' in ETag.

The refactoring task currently I am working on will also address this issue.