TransferValidationOptionsExtensions
using System;
namespace Azure.Storage
{
internal static class TransferValidationOptionsExtensions
{
public static StorageChecksumAlgorithm ResolveAuto(this StorageChecksumAlgorithm checksumAlgorithm)
{
if ((int)checksumAlgorithm == 0)
return 3;
return checksumAlgorithm;
}
public static UploadTransferValidationOptions ToValidationOptions(this byte[] md5)
{
if (md5 != null) {
UploadTransferValidationOptions val = new UploadTransferValidationOptions();
val.set_ChecksumAlgorithm(2);
val.set_PrecalculatedChecksum((ReadOnlyMemory<byte>)md5);
return val;
}
return null;
}
public static DownloadTransferValidationOptions ToValidationOptions(this bool requestTransactionalMD5)
{
if (!requestTransactionalMD5)
return null;
DownloadTransferValidationOptions val = new DownloadTransferValidationOptions();
val.set_ChecksumAlgorithm(2);
val.set_AutoValidateChecksum(false);
return val;
}
public static void CopyTo(this TransferValidationOptions source, TransferValidationOptions dest)
{
TransferValidationOptionsExtensions.CopyTo(source.get_Upload(), dest.get_Upload());
TransferValidationOptionsExtensions.CopyTo(source.get_Download(), dest.get_Download());
}
public static void CopyTo(this UploadTransferValidationOptions source, UploadTransferValidationOptions dest)
{
dest.set_ChecksumAlgorithm(source.get_ChecksumAlgorithm());
dest.set_PrecalculatedChecksum(source.get_PrecalculatedChecksum());
}
public static void CopyTo(this DownloadTransferValidationOptions source, DownloadTransferValidationOptions dest)
{
dest.set_ChecksumAlgorithm(source.get_ChecksumAlgorithm());
dest.set_AutoValidateChecksum(source.get_AutoValidateChecksum());
}
}
}