예제 #1
0
파일: Queue.cs 프로젝트: ranweiler/onefuzz
    public async Task <Uri> GetQueueSas(string name, StorageType storageType, QueueSasPermissions permissions, TimeSpan?duration)
    {
        var queue = await GetQueueClient(name, storageType) ?? throw new Exception($"unable to queue object, no such queue: {name}");

        var sasaBuilder = new QueueSasBuilder(permissions, DateTimeOffset.UtcNow + (duration ?? DEFAULT_DURATION));

        return(queue.GenerateSasUri(sasaBuilder));
    }
예제 #2
0
        /// <summary>
        /// Create a permissions string to provide
        /// <see cref="QueueSasBuilder.Permissions"/>.
        /// </summary>
        /// <returns>A permissions string.</returns>
        internal static string ToPermissionsString(this QueueSasPermissions permissions)
        {
            var sb = new StringBuilder();

            if ((permissions & QueueSasPermissions.Read) == QueueSasPermissions.Read)
            {
                sb.Append(Constants.Sas.Permissions.Read);
            }
            if ((permissions & QueueSasPermissions.Add) == QueueSasPermissions.Add)
            {
                sb.Append(Constants.Sas.Permissions.Add);
            }
            if ((permissions & QueueSasPermissions.Update) == QueueSasPermissions.Update)
            {
                sb.Append(Constants.Sas.Permissions.Update);
            }
            if ((permissions & QueueSasPermissions.Process) == QueueSasPermissions.Process)
            {
                sb.Append(Constants.Sas.Permissions.Process);
            }
            return(sb.ToString());
        }