sdk/Transform/SelectObjectRequestDeserializer.cs (36 lines of code) (raw):

/* * Copyright (C) Alibaba Cloud Computing * All rights reserved. * */ using System; using Aliyun.OSS.Common.Communication; using Aliyun.OSS.Common.Internal; using Aliyun.OSS.Util; using System.IO; namespace Aliyun.OSS.Transform { internal class SelectObjectRequestDeserializer : ResponseDeserializer<OssObject, OssObject> { private readonly SelectObjectRequest _request; public SelectObjectRequestDeserializer(SelectObjectRequest selectObjectRequest) : base(null) { _request = selectObjectRequest; } public override OssObject Deserialize(ServiceResponse xmlStream) { OssObject ossObject = new OssObject(_request.Key) { BucketName = _request.BucketName, ResponseStream = xmlStream.Content, Metadata = DeserializerFactory.GetFactory() .CreateGetObjectMetadataResultDeserializer().Deserialize(xmlStream) }; DeserializeGeneric(xmlStream, ossObject); if (xmlStream.Headers.ContainsKey("x-oss-select-output-raw") && xmlStream.Headers["x-oss-select-output-raw"].Equals("false")) { var stream = new SelectObjectStream(xmlStream.Content); ossObject.ResponseStream = stream; } return ossObject; } } }