public async Task SerializeOBjectToMemoryStream() { MemoryStream stream = new MemoryStream(); await Cbor.SerializeAsync(SimpleObject, typeof(SimpleObject), stream, Options); TestBuffer(stream.ToArray()); }
public async Task SerializeObjectToFileStream() { string tempFileName = Path.GetTempFileName(); try { using (FileStream stream = File.OpenWrite(tempFileName)) { await Cbor.SerializeAsync(SimpleObject, typeof(SimpleObject), stream, Options); } byte[] actualBuffer = File.ReadAllBytes(tempFileName); TestBuffer(actualBuffer); } finally { File.Delete(tempFileName); } }
public override Task WriteResponseBodyAsync(OutputFormatterWriteContext context) { #if (NETCOREAPP2_1 || NETCOREAPP2_2) return(Cbor.SerializeAsync(context.Object, context.ObjectType, context.HttpContext.Response.Body, _cborOptions)); #else PipeWriter writer = context.HttpContext.Response.BodyWriter; Cbor.Serialize(context.Object, context.ObjectType, writer, _cborOptions); ValueTask <FlushResult> flushTask = writer.FlushAsync(); if (flushTask.IsCompleted) { ValueTask completeTask = writer.CompleteAsync(); if (completeTask.IsCompleted) { return(Task.CompletedTask); } return(FinishCompleteAsync(completeTask)); } return(FinishFlushAsync(flushTask)); async Task FinishFlushAsync(ValueTask <FlushResult> localFlushTask) { await localFlushTask.ConfigureAwait(false); await writer.CompleteAsync(); } async Task FinishCompleteAsync(ValueTask localCompleteTask) { await localCompleteTask.ConfigureAwait(false); } #endif }
public Task SerializeDahomey() { return(Cbor.SerializeAsync(document, Stream.Null, CborOptions.Default)); }