/// <summary>List all multipart uploads</summary>
        public static async IAsyncEnumerable <S3Upload> ListAllMultipartUploadsAsync(this IMultipartClient client, string bucketName, [EnumeratorCancellation] CancellationToken token = default)
        {
            Validator.RequireNotNull(client, nameof(client));
            Validator.RequireNotNull(bucketName, nameof(bucketName));

            string uploadIdMarker = null;
            ListMultipartUploadsResponse response;

            do
            {
                if (token.IsCancellationRequested)
                {
                    break;
                }

                string marker = uploadIdMarker;
                response = await client.ListMultipartUploadsAsync(bucketName, req => req.UploadIdMarker = marker, token).ConfigureAwait(false);

                foreach (S3Upload responseObject in response.Uploads)
                {
                    yield return(responseObject);
                }

                uploadIdMarker = response.NextUploadIdMarker;
            } while (response.IsTruncated);
        }
Example #2
0
 public Task <ListMultipartUploadsResponse> ListMultipartUploadsAsync(string bucketName, Action <ListMultipartUploadsRequest>?config = null, CancellationToken token = default)
 {
     return(_multipartClient.ListMultipartUploadsAsync(bucketName, config, token));
 }