< Summary

Information
Class: ArturRios.Util.WebApi.Extensions.HttpResponseExtensions
Assembly: ArturRios.Util.WebApi
File(s): /home/runner/work/dotnet-webapi-util/dotnet-webapi-util/src/Extensions/HttpResponseExtensions.cs
Line coverage
100%
Covered lines: 2
Uncovered lines: 0
Coverable lines: 2
Total lines: 25
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage
100%
Covered methods: 1
Fully covered methods: 1
Total methods: 1
Method coverage: 100%
Full method coverage: 100%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
WriteOutputAsync(...)100%11100%

File(s)

/home/runner/work/dotnet-webapi-util/dotnet-webapi-util/src/Extensions/HttpResponseExtensions.cs

#LineLine coverage
 1using ArturRios.Output;
 2using Microsoft.AspNetCore.Http;
 3
 4namespace ArturRios.Util.WebApi.Extensions;
 5
 6/// <summary>Extension methods for writing output envelopes directly to an <see cref="HttpResponse"/>, outside MVC.</sum
 7internal static class HttpResponseExtensions
 8{
 9    /// <param name="response">The response to write to.</param>
 10    extension(HttpResponse response)
 11    {
 12        /// <summary>Sets the status code and writes <paramref name="output"/> as JSON, using the app's configured
 13        /// <c>Microsoft.AspNetCore.Http.Json.JsonOptions</c> (camelCase by default), so envelopes written by
 14        /// middlewares have the same shape as the ones MVC writes for controller results.</summary>
 15        /// <param name="statusCode">The HTTP status code.</param>
 16        /// <param name="output">The envelope to serialize.</param>
 17        public Task WriteOutputAsync<TOutput>(int statusCode, TOutput output)
 18            where TOutput : ProcessOutput
 19        {
 1520            response.StatusCode = statusCode;
 21
 1522            return response.WriteAsJsonAsync(output);
 23        }
 24    }
 25}