Некорректное отображение занятого места на Яндекс.Диске
Pterko opened this issue · 1 comments
Приветствую!
Имеется проблема, из-за которой сервер возвращает некорректное значение quota-used-bytes
при запросе занятого места на диске (а именно, при выполнении запроса PROPFIND /
) при условии, что работа ведётся через протокол YadWeb
.
Насколько я понял, проблема находится здесь:
https://github.com/yar229/WebDavMailRuCloud/blob/master/WebDavMailRuCloudStore/StoreBase/LocalStoreCollectionProps.cs#L66
new DavQuotaUsedBytes<T>
{
Getter = (cntext, collection) =>
collection.DirectoryInfo.Size
//IsExpensive = true //folder listing performance
},
В случае Яндекс.Диска, значение Size
, получаемое из DirectoryInfo
будет равно нулю. Желаемое значение возможно получить, изменив геттер на collection.FullPath == "/" ? CloudManager.Instance(cntext.Session.Principal.Identity).GetDiskUsage().Used.DefaultValue : long.MaxValue
. Но, насколько я понимаю, в таком случае это может привести к проблемам производительности и совместимости с протоколом Mail.ru.