sdk/Commands/ListMultipartUploadsCommand.cs (88 lines of code) (raw):

/* * Copyright (C) Alibaba Cloud Computing * All rights reserved. * */ using System; using System.Collections.Generic; using System.Globalization; using Aliyun.OSS.Common.Communication; using Aliyun.OSS.Util; using Aliyun.OSS.Transform; namespace Aliyun.OSS.Commands { internal class ListMultipartUploadsCommand : OssCommand<MultipartUploadListing> { private readonly ListMultipartUploadsRequest _listMultipartUploadsRequest; protected override HttpMethod Method { get { return HttpMethod.Get; } } protected override string Bucket { get { return _listMultipartUploadsRequest.BucketName; } } protected override IDictionary<string, string> Parameters { get { var parameters = base.Parameters; Populate(_listMultipartUploadsRequest, parameters); return parameters; } } protected override IDictionary<string, string> Headers { get { var headers = base.Headers; if (_listMultipartUploadsRequest.RequestPayer == RequestPayer.Requester) { headers.Add(OssHeaders.OssRequestPayer, RequestPayer.Requester.ToString().ToLowerInvariant()); } return headers; } } private ListMultipartUploadsCommand(IServiceClient client, Uri endpoint, ExecutionContext context, IDeserializer<ServiceResponse, MultipartUploadListing> deserializeMethod, ListMultipartUploadsRequest listMultipartUploadsRequest) : base(client, endpoint, context, deserializeMethod) { OssUtils.CheckBucketName(listMultipartUploadsRequest.BucketName); _listMultipartUploadsRequest = listMultipartUploadsRequest; } public static ListMultipartUploadsCommand Create(IServiceClient client, Uri endpoint, ExecutionContext context, ListMultipartUploadsRequest listMultipartUploadsRequest) { return new ListMultipartUploadsCommand(client, endpoint, context, DeserializerFactory.GetFactory().CreateListMultipartUploadsResultDeserializer(), listMultipartUploadsRequest); } private static void Populate(ListMultipartUploadsRequest listMultipartUploadsRequest, IDictionary<string, string> parameters) { parameters[RequestParameters.SUBRESOURCE_UPLOADS] = null; if (listMultipartUploadsRequest.Delimiter != null) { parameters[RequestParameters.DELIMITER] = listMultipartUploadsRequest.Delimiter; } if (listMultipartUploadsRequest.KeyMarker != null) { parameters[RequestParameters.KEY_MARKER] = listMultipartUploadsRequest.KeyMarker; } if (listMultipartUploadsRequest.MaxUploads.HasValue) { parameters[RequestParameters.MAX_UPLOADS] = listMultipartUploadsRequest.MaxUploads.Value.ToString(CultureInfo.InvariantCulture); ; } if (listMultipartUploadsRequest.Prefix != null) { parameters[RequestParameters.PREFIX] = listMultipartUploadsRequest.Prefix; } if (listMultipartUploadsRequest.UploadIdMarker != null) { parameters[RequestParameters.UPLOAD_ID_MARKER] = listMultipartUploadsRequest.UploadIdMarker; } if (listMultipartUploadsRequest.EncodingType != null) { parameters[RequestParameters.ENCODING_TYPE] = listMultipartUploadsRequest.EncodingType; } } } }