< Summary - Estud

Information
Class: Estud.Back.Configs.HttpConfigs
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Configs/HttpConfigs.cs
Tag: 114_29044117136
Line coverage
100%
Covered lines: 41
Uncovered lines: 0
Coverable lines: 41
Total lines: 76
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
AddHttpConfigs(...)100%11100%
UseForwardedHeaders(...)100%11100%
UseHttpsConfigs(...)100%11100%
UseApiPrefix(...)100%11100%
UseExceptions(...)100%11100%
UseControllers(...)100%11100%
UseLogs(...)100%11100%

File(s)

/home/runner/work/syki/syki/Back/Configs/HttpConfigs.cs

#LineLine coverage
 1using Estud.Back.Hubs;
 2using Estud.Back.Converters;
 3using Microsoft.AspNetCore.HttpOverrides;
 4
 5namespace Estud.Back.Configs;
 6
 7public static class HttpConfigs
 8{
 9    public static void AddHttpConfigs(this WebApplicationBuilder builder)
 10    {
 211        builder.Services.AddControllers().AddJsonOptions(options =>
 412            options.JsonSerializerOptions.Converters.Add(new EstudStringEnumConverter()));
 13
 214        builder.Services.Configure<MvcOptions>(options =>
 215        {
 216            options.Filters.Add(new ProducesAttribute("application/json"));
 217            options.Filters.Add(new ConsumesAttribute("application/json"));
 418        });
 19
 220        builder.Services.AddHttpContextAccessor();
 421        builder.Services.AddRouting(options => options.LowercaseUrls = true);
 22
 223        builder.Services.AddSignalR();
 24
 225        builder.Services.AddHttpClient();
 226    }
 27
 28    public static void UseForwardedHeaders(this WebApplication app)
 29    {
 230        var fwd = new ForwardedHeadersOptions
 231        {
 232            ForwardLimit = null,
 233            RequireHeaderSymmetry = false,
 234            ForwardedHeaders = ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedHost | ForwardedHeaders.XFo
 235        };
 36
 237        fwd.KnownProxies.Clear();
 238        fwd.KnownIPNetworks.Clear();
 39
 240        app.UseForwardedHeaders(fwd);
 241    }
 42
 43    public static void UseHttpsConfigs(this WebApplication app)
 44    {
 245        app.UseHsts();
 246        app.UseHttpsRedirection();
 247    }
 48
 49    public static void UseApiPrefix(this IApplicationBuilder app)
 50    {
 251        app.UsePathBase("/api");
 252    }
 53
 54    public static void UseExceptions(this IApplicationBuilder app)
 55    {
 256        app.UseMiddleware<ExceptionsMiddleware>();
 257    }
 58
 59    public static void UseControllers(this IApplicationBuilder app)
 60    {
 261        app.UseEndpoints(options =>
 262        {
 263            options.MapControllers();
 264
 265            options.MapHub<EstudHub>("/estud-hub");
 266
 267            options.MapOpenApi();
 268            options.MapScalarDocs();
 469        });
 270    }
 71
 72    public static void UseLogs(this IApplicationBuilder app)
 73    {
 274        app.UseSerilogRequestLogging();
 275    }
 76}