< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Channels.HttpTransportServiceBuilder
Assembly: CoreWCF.Http
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Http/src/CoreWCF/Channels/HttpTransportServiceBuilder.cs
Line coverage
100%
Covered lines: 12
Uncovered lines: 0
Coverable lines: 12
Total lines: 38
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor()100%11100%
Configure(...)100%44100%
ConfigureCore(...)100%11100%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Http/src/CoreWCF/Channels/HttpTransportServiceBuilder.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using CoreWCF.Configuration;
 5using Microsoft.AspNetCore.Builder;
 6using Microsoft.Extensions.DependencyInjection;
 7using Microsoft.Extensions.Logging;
 8
 9namespace CoreWCF.Channels
 10{
 11    internal class HttpTransportServiceBuilder : ITransportServiceBuilder
 12    {
 13        private bool _configured = false;
 43414        private readonly object _lock = new object();
 15
 16        public void Configure(IApplicationBuilder app)
 17        {
 38218            ILogger<HttpTransportServiceBuilder> logger = app.ApplicationServices.GetRequiredService<ILogger<HttpTranspo
 38219            if (!_configured)
 20            {
 38221                lock (_lock)
 22                {
 38223                    if (!_configured)
 24                    {
 38225                        ConfigureCore(app, logger);
 38226                        _configured = true;
 27                    }
 38228                }
 29            }
 38230        }
 31
 32        private void ConfigureCore(IApplicationBuilder app, ILogger logger)
 33        {
 38234            logger.LogDebug("Adding ServiceModelHttpMiddleware to app builder");
 38235            app.UseMiddleware<ServiceModelHttpMiddleware>(app);
 38236        }
 37    }
 38}