< Summary - Syki

Information
Class: Syki.Back.Configs.HttpConfigs
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Configs/HttpConfigs.cs
Tag: 97_27801654829
Line coverage
100%
Covered lines: 39
Uncovered lines: 0
Coverable lines: 39
Total lines: 71
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%
UseExceptions(...)100%11100%
UseControllers(...)100%11100%
UseLogs(...)100%11100%

File(s)

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

#LineLine coverage
 1using Syki.Back.Hubs;
 2using Syki.Back.Converters;
 3using Microsoft.AspNetCore.HttpOverrides;
 4
 5namespace Syki.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 SykiStringEnumConverter()));
 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 UseExceptions(this IApplicationBuilder app)
 50    {
 251        app.UseMiddleware<ExceptionsMiddleware>();
 252    }
 53
 54    public static void UseControllers(this IApplicationBuilder app)
 55    {
 256        app.UseEndpoints(options =>
 257        {
 258            options.MapControllers();
 259
 260            options.MapHub<SykiHub>("/syki-hub");
 261
 262            options.MapOpenApi();
 263            options.MapScalarDocs();
 464        });
 265    }
 66
 67    public static void UseLogs(this IApplicationBuilder app)
 68    {
 269        app.UseSerilogRequestLogging();
 270    }
 71}