< Summary

Class:Azure.Core.Utf8JsonRequestContent
Assembly:Azure.AI.FormRecognizer
File(s):C:\Git\azure-sdk-for-net\sdk\core\Azure.Core\src\Shared\AutoRest\Utf8JsonRequestContent.cs
Covered lines:17
Uncovered lines:0
Coverable lines:17
Total lines:51
Line coverage:100% (17 of 17)
Covered branches:0
Total branches:0

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
get_JsonWriter()-100%100%
.ctor()-100%100%
WriteToAsync()-100%100%
WriteTo(...)-100%100%
TryComputeLength(...)-100%100%
Dispose()-100%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\core\Azure.Core\src\Shared\AutoRest\Utf8JsonRequestContent.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License.
 3
 4#nullable enable
 5
 6using System.IO;
 7using System.Text.Json;
 8using System.Threading;
 9using System.Threading.Tasks;
 10
 11namespace Azure.Core
 12{
 13    internal class Utf8JsonRequestContent: RequestContent
 14    {
 15        private readonly MemoryStream _stream;
 16        private readonly RequestContent _content;
 17
 173218        public Utf8JsonWriter JsonWriter { get; }
 19
 26820        public Utf8JsonRequestContent()
 21        {
 26822            _stream = new MemoryStream();
 26823            _content = Create(_stream);
 26824            JsonWriter = new Utf8JsonWriter(_stream);
 26825        }
 26
 27        public override async Task WriteToAsync(Stream stream, CancellationToken cancellation)
 28        {
 11829            await JsonWriter.FlushAsync(cancellation).ConfigureAwait(false);
 11830            await _content.WriteToAsync(stream, cancellation).ConfigureAwait(false);
 11831        }
 32
 33        public override void WriteTo(Stream stream, CancellationToken cancellation)
 34        {
 35435            JsonWriter.Flush();
 35436            _content.WriteTo(stream, cancellation);
 35437        }
 38
 39        public override bool TryComputeLength(out long length)
 40        {
 48841            length = JsonWriter.BytesCommitted + JsonWriter.BytesPending;
 48842            return true;
 43        }
 44
 45        public override void Dispose()
 46        {
 1647            JsonWriter.Dispose();
 1648            _content.Dispose();
 1649        }
 50    }
 51}