| File: GenericHeaderParser.cs | Web Access |
| Project: src\aspnetcore\src\Http\Headers\src\Microsoft.Net.Http.Headers.csproj (Microsoft.Net.Http.Headers) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Extensions.Primitives; namespace Microsoft.Net.Http.Headers; internal sealed class GenericHeaderParser<T> : BaseHeaderParser<T> { internal delegate int GetParsedValueLengthDelegate(StringSegment value, int startIndex, out T? parsedValue); private readonly GetParsedValueLengthDelegate _getParsedValueLength; internal GenericHeaderParser(bool supportsMultipleValues, GetParsedValueLengthDelegate getParsedValueLength) : base(supportsMultipleValues) { ArgumentNullException.ThrowIfNull(getParsedValueLength); _getParsedValueLength = getParsedValueLength; } protected override int GetParsedValueLength(StringSegment value, int startIndex, out T? parsedValue) { return _getParsedValueLength(value, startIndex, out parsedValue); } }