< Summary

Information
Class: System.Net.Http.Headers.TransferCodingHeaderParser
Assembly: System.Net.Http
File(s): D:\runner\runtime\src\libraries\System.Net.Http\src\System\Net\Http\Headers\TransferCodingHeaderParser.cs
Line coverage
100%
Covered lines: 21
Uncovered lines: 0
Coverable lines: 21
Total lines: 44
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 Cyclomatic complexity NPath complexity Sequence coverage
.cctor()100%11100%
.ctor(...)100%11100%
GetParsedValueLength(...)100%11100%
CreateTransferCoding()100%11100%
CreateTransferCodingWithQuality()100%11100%

File(s)

D:\runner\runtime\src\libraries\System.Net.Http\src\System\Net\Http\Headers\TransferCodingHeaderParser.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 System.Diagnostics;
 5
 6namespace System.Net.Http.Headers
 7{
 8    internal sealed class TransferCodingHeaderParser : BaseHeaderParser
 9    {
 10        private readonly Func<TransferCodingHeaderValue> _transferCodingCreator;
 11
 112        internal static readonly TransferCodingHeaderParser SingleValueParser =
 113            new TransferCodingHeaderParser(false, CreateTransferCoding);
 114        internal static readonly TransferCodingHeaderParser MultipleValueParser =
 115            new TransferCodingHeaderParser(true, CreateTransferCoding);
 116        internal static readonly TransferCodingHeaderParser SingleValueWithQualityParser =
 117            new TransferCodingHeaderParser(false, CreateTransferCodingWithQuality);
 118        internal static readonly TransferCodingHeaderParser MultipleValueWithQualityParser =
 119            new TransferCodingHeaderParser(true, CreateTransferCodingWithQuality);
 20
 21        private TransferCodingHeaderParser(bool supportsMultipleValues,
 22            Func<TransferCodingHeaderValue> transferCodingCreator)
 423            : base(supportsMultipleValues)
 424        {
 425            Debug.Assert(transferCodingCreator != null);
 26
 427            _transferCodingCreator = transferCodingCreator;
 428        }
 29
 30        protected override int GetParsedValueLength(string value, int startIndex, object? storeValue,
 31            out object? parsedValue)
 35882232        {
 35882233            int resultLength = TransferCodingHeaderValue.GetTransferCodingLength(value, startIndex,
 35882234                _transferCodingCreator, out TransferCodingHeaderValue? temp);
 35
 35882236            parsedValue = temp;
 35882237            return resultLength;
 35882238        }
 39
 26622240        private static TransferCodingHeaderValue CreateTransferCoding() => new TransferCodingHeaderValue();
 41
 9242642        private static TransferCodingWithQualityHeaderValue CreateTransferCodingWithQuality() => new TransferCodingWithQ
 43    }
 44}