sdk/Transform/UploadPartCopyResponseDeserializer.cs (40 lines of code) (raw):

/* * Copyright (C) Alibaba Cloud Computing * All rights reserved. * */ using System.IO; using Aliyun.OSS.Common.Communication; using Aliyun.OSS.Util; using Aliyun.OSS.Model; namespace Aliyun.OSS.Transform { internal class UploadPartCopyResultDeserializer : ResponseDeserializer<UploadPartCopyResult, UploadPartCopyRequestModel> { private readonly int _partNumber; public UploadPartCopyResultDeserializer(IDeserializer<Stream, UploadPartCopyRequestModel> contentDeserializer, int partNumber) : base(contentDeserializer) { _partNumber = partNumber; } public override UploadPartCopyResult Deserialize(ServiceResponse xmlStream) { var partCopyRequestModel = ContentDeserializer.Deserialize(xmlStream.Content); var result = new UploadPartCopyResult { ETag = OssUtils.TrimQuotes(partCopyRequestModel.ETag), PartNumber = _partNumber }; DeserializeGeneric(xmlStream, result); if (result.ResponseMetadata.ContainsKey(HttpHeaders.HashCrc64Ecma)) { result.Crc64 = result.ResponseMetadata[HttpHeaders.HashCrc64Ecma]; } if (xmlStream.Headers.ContainsKey(HttpHeaders.QuotaDeltaSize)) { result.Length = long.Parse(xmlStream.Headers[HttpHeaders.QuotaDeltaSize]); } if (xmlStream.Headers.ContainsKey("x-oss-copy-source-version-id")) { result.CopySourceVersionId = xmlStream.Headers["x-oss-copy-source-version-id"]; } return result; } } }