< Summary

Information
Class: Chronicis.Client.Extensions.HttpClientServiceExtensions
Assembly: Chronicis.Client
File(s): /home/runner/work/chronicis/chronicis/src/Chronicis.Client/Extensions/HttpClientServiceExtensions.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 18
Coverable lines: 18
Total lines: 46
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
AddChronicisHttpClients(...)0%620%

File(s)

/home/runner/work/chronicis/chronicis/src/Chronicis.Client/Extensions/HttpClientServiceExtensions.cs

#LineLine coverage
 1using Chronicis.Client.Services;
 2
 3namespace Chronicis.Client.Extensions;
 4
 5/// <summary>
 6/// Extension methods for configuring HTTP clients.
 7/// </summary>
 8public static class HttpClientServiceExtensions
 9{
 10    /// <summary>
 11    /// Adds all Chronicis HTTP clients including authenticated API client,
 12    /// public API client, and external service clients.
 13    /// </summary>
 14    public static IServiceCollection AddChronicisHttpClients(
 15        this IServiceCollection services,
 16        IConfiguration configuration)
 17    {
 018        var apiBaseUrl = configuration["ApiBaseUrl"] ?? "http://localhost:7071";
 19
 20        // Register the auth handler
 021        services.AddScoped<ChronicisAuthHandler>();
 22
 23        // Chronicis API client (with auth)
 024        services.AddHttpClient("ChronicisApi", client =>
 025        {
 026            client.BaseAddress = new Uri(apiBaseUrl);
 027        })
 028        .AddHttpMessageHandler<ChronicisAuthHandler>()
 029        .RemoveAllLoggers();
 30
 31        // Public API client (no auth)
 032        services.AddHttpClient("ChronicisPublicApi", client =>
 033        {
 034            client.BaseAddress = new Uri(apiBaseUrl);
 035        }).RemoveAllLoggers();
 36
 37        // Quote service (external API)
 038        services.AddHttpClient<IQuoteService, QuoteService>(client =>
 039        {
 040            client.BaseAddress = new Uri("https://api.quotable.io/");
 041            client.Timeout = TimeSpan.FromSeconds(10);
 042        }).RemoveAllLoggers();
 43
 044        return services;
 45    }
 46}