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

/* * Copyright (C) Alibaba Cloud Computing * All rights reserved. * */ using System.IO; using Aliyun.OSS.Model; using System; using System.Text; namespace Aliyun.OSS.Transform { internal class SelectObjectCsvMetaRequestSerializer : RequestSerializer<CreateSelectObjectMetaRequest, CsvMetaRequestModel> { public SelectObjectCsvMetaRequestSerializer(ISerializer<CsvMetaRequestModel, Stream> contentSerializer) : base(contentSerializer) { } public override Stream Serialize(CreateSelectObjectMetaRequest request) { var model = new CsvMetaRequestModel(); var inputFormat = (CreateSelectObjectMetaCSVInputFormat)request.InputFormat; model.InputFormat = new CreateSelectObjectMetaInputFormatModel(); model.InputFormat.CompressionTypeInfo = request.InputFormat.CompressionType; model.InputFormat.CSV = new CreateSelectObjectMetaInputFormatModel.CSVModel(); if (!string.IsNullOrEmpty(inputFormat.RecordDelimiter)) { model.InputFormat.CSV.RecordDelimiter = Convert.ToBase64String(Encoding.UTF8.GetBytes(inputFormat.RecordDelimiter)); } if (!string.IsNullOrEmpty(inputFormat.FieldDelimiter)) { model.InputFormat.CSV.FieldDelimiter = Convert.ToBase64String(Encoding.UTF8.GetBytes(inputFormat.FieldDelimiter)); } if (!string.IsNullOrEmpty(inputFormat.QuoteCharacter)) { model.InputFormat.CSV.QuoteCharacter = Convert.ToBase64String(Encoding.UTF8.GetBytes(inputFormat.QuoteCharacter)); } model.OverwriteIfExists = request.OverwriteIfExists; return ContentSerializer.Serialize(model); } } }