SasQueryParametersExtensions
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
namespace Azure.Storage.Sas
{
internal static class SasQueryParametersExtensions
{
internal static void ParseKeyProperties(this BlobSasQueryParameters parameters, IDictionary<string, string> values)
{
KeyValuePair<string, string>[] array = values.ToArray();
parameters.KeyProperties = new UserDelegationKeyProperties();
foreach (KeyValuePair<string, string> item in (IEnumerable<KeyValuePair<string, string>>)array) {
bool flag = true;
switch (item.Key.ToUpperInvariant()) {
case "SKOID":
parameters.KeyProperties.ObjectId = item.Value;
break;
case "SKTID":
parameters.KeyProperties.TenantId = item.Value;
break;
case "SKT":
parameters.KeyProperties.StartsOn = DateTimeOffset.ParseExact(item.Value, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture);
break;
case "SKE":
parameters.KeyProperties.ExpiresOn = DateTimeOffset.ParseExact(item.Value, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture);
break;
case "SKS":
parameters.KeyProperties.Service = item.Value;
break;
case "SKV":
parameters.KeyProperties.Version = item.Value;
break;
default:
flag = false;
break;
}
if (flag)
values.Remove(item.Key);
}
}
}
}