The library violates LSP. The consequence is that it is not possible to switch from one IStorageProvider to another without making changes reflecting the changed behaviour.
Examples:
LocalStorageProvider - Names from GetBlobDescriptorAsync and ListBlobsAsync are only the last name, without full path in a container (e.g. flowers/flower.jpg will return only flower.jpg). When blob is not found, I get StorageErrorCode.GenericError.
AzureStorageProvider - Names from GetBlobDescriptorAsync and ListBlobsAsync are only the last name, without full path in a container (e.g. flowers/flower.jpg will return flowers/flower.jpg). When blob is not found, I get StorageErrorCode.NotFound.
I can make a PR, if you are interested in solving this.
The library violates LSP. The consequence is that it is not possible to switch from one IStorageProvider to another without making changes reflecting the changed behaviour.
Examples: LocalStorageProvider - Names from
GetBlobDescriptorAsync
andListBlobsAsync
are only the last name, without full path in a container (e.g. flowers/flower.jpg will return only flower.jpg). When blob is not found, I getStorageErrorCode.GenericError
. AzureStorageProvider - Names fromGetBlobDescriptorAsync
andListBlobsAsync
are only the last name, without full path in a container (e.g. flowers/flower.jpg will return flowers/flower.jpg). When blob is not found, I getStorageErrorCode.NotFound
.I can make a PR, if you are interested in solving this.