< Summary

Information
Class: ArturRios.Util.WebApi.Extensions.HttpClientBuilderExtensions
Assembly: ArturRios.Util.WebApi
File(s): /home/runner/work/dotnet-webapi-util/dotnet-webapi-util/src/Extensions/HttpClientBuilderExtensions.cs
Line coverage
100%
Covered lines: 2
Uncovered lines: 0
Coverable lines: 2
Total lines: 23
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
AddTracePropagation(...)100%11100%

File(s)

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

#LineLine coverage
 1using ArturRios.Util.WebApi.Handlers;
 2using Microsoft.Extensions.DependencyInjection;
 3using Microsoft.Extensions.DependencyInjection.Extensions;
 4
 5namespace ArturRios.Util.WebApi.Extensions;
 6
 7/// <summary>Extension methods for wiring the library's handlers into named or typed <see cref="HttpClient"/>s.</summary
 8public static class HttpClientBuilderExtensions
 9{
 10    /// <param name="builder">The builder of the named or typed <see cref="HttpClient"/>.</param>
 11    extension(IHttpClientBuilder builder)
 12    {
 13        /// <summary>Adds <see cref="TracePropagationHandler"/> to the client's handler pipeline, so its outgoing reques
 14        /// carry the current W3C <c>traceparent</c>. Registers the handler with the container if it isn't already.</sum
 15        /// <returns>The same <paramref name="builder"/> instance, for chaining.</returns>
 16        public IHttpClientBuilder AddTracePropagation()
 17        {
 118            builder.Services.TryAddTransient<TracePropagationHandler>();
 19
 120            return builder.AddHttpMessageHandler<TracePropagationHandler>();
 21        }
 22    }
 23}