From d96a100bddc72606f7417b665428411388b8ac54 Mon Sep 17 00:00:00 2001
From: Daniel Genkin <104801075+Daniel-Genkin-MS-2@users.noreply.github.com>
Date: Fri, 3 Jun 2022 12:28:43 -0700
Subject: [PATCH] Adding WebTransport Handshake to Kestrel (#41877)
---
src/Http/Headers/src/HeaderNames.cs | 3 +
src/Http/Headers/src/PublicAPI.Unshipped.txt | 1 +
src/Servers/Kestrel/Core/src/CoreStrings.resx | 11 +-
.../Internal/Http/HttpHeaders.Generated.cs | 1745 +++++++++--------
.../src/Internal/Http3/Http3Connection.cs | 10 +
.../src/Internal/Http3/Http3ControlStream.cs | 2 +
.../src/Internal/Http3/Http3PeerSettings.cs | 14 +
.../src/Internal/Http3/Http3SettingType.cs | 15 +-
.../Core/src/Internal/Http3/Http3Stream.cs | 30 +-
.../Kestrel/Core/src/KestrelServerOptions.cs | 18 +
.../Http3SampleApp/Http3SampleApp.csproj | 5 +
.../Kestrel/samples/Http3SampleApp/Program.cs | 75 +-
src/Servers/Kestrel/shared/KnownHeaders.cs | 5 +-
.../Http3/WebTransportTests.cs | 138 ++
src/Shared/runtime/Http3/Http3SettingType.cs | 15 +-
15 files changed, 1260 insertions(+), 827 deletions(-)
create mode 100644 src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/WebTransportTests.cs
diff --git a/src/Http/Headers/src/HeaderNames.cs b/src/Http/Headers/src/HeaderNames.cs
index 1d7611d5194..933331b1ade 100644
--- a/src/Http/Headers/src/HeaderNames.cs
+++ b/src/Http/Headers/src/HeaderNames.cs
@@ -189,6 +189,9 @@ public static class HeaderNames
/// Gets the Pragma HTTP header name.
public static readonly string Pragma = "Pragma";
+ /// Gets the Protocol HTTP header name.
+ public static readonly string Protocol = ":protocol";
+
/// Gets the Proxy-Authenticate HTTP header name.
public static readonly string ProxyAuthenticate = "Proxy-Authenticate";
diff --git a/src/Http/Headers/src/PublicAPI.Unshipped.txt b/src/Http/Headers/src/PublicAPI.Unshipped.txt
index 7dc5c58110b..3341834df9f 100644
--- a/src/Http/Headers/src/PublicAPI.Unshipped.txt
+++ b/src/Http/Headers/src/PublicAPI.Unshipped.txt
@@ -1 +1,2 @@
#nullable enable
+static readonly Microsoft.Net.Http.Headers.HeaderNames.Protocol -> string!
diff --git a/src/Servers/Kestrel/Core/src/CoreStrings.resx b/src/Servers/Kestrel/Core/src/CoreStrings.resx
index c9f39d1da13..2dd65fc7073 100644
--- a/src/Servers/Kestrel/Core/src/CoreStrings.resx
+++ b/src/Servers/Kestrel/Core/src/CoreStrings.resx
@@ -668,4 +668,13 @@ For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?l
Error initializing outbound control stream.
-
\ No newline at end of file
+
+ HTTP/3 datagrams negotiation mismatch. Currently client has it '{clientStatus}' and server has it '{serverStatus}'
+
+
+ Method must be CONNECT when using the :protocol pseudo-header.
+
+
+ The :authority and/or :path pseudo-headers are missing.
+
+
diff --git a/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs
index 838b0463ab5..9f46dd48d71 100644
--- a/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs
@@ -77,6 +77,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
Origin,
Path,
Pragma,
+ Protocol,
ProxyAuthenticate,
ProxyAuthorization,
ProxyConnection,
@@ -277,7 +278,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
internal partial class HttpHeaders
{
- private readonly static HashSet _internedHeaderNames = new HashSet(96, StringComparer.OrdinalIgnoreCase)
+ private readonly static HashSet _internedHeaderNames = new HashSet(97, StringComparer.OrdinalIgnoreCase)
{
HeaderNames.Accept,
HeaderNames.AcceptCharset,
@@ -338,6 +339,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
HeaderNames.Origin,
HeaderNames.Path,
HeaderNames.Pragma,
+ HeaderNames.Protocol,
HeaderNames.ProxyAuthenticate,
HeaderNames.ProxyAuthorization,
HeaderNames.ProxyConnection,
@@ -383,8 +385,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
private HeaderReferences _headers;
public bool HasConnection => (_bits & 0x2L) != 0;
- public bool HasCookie => (_bits & 0x20000L) != 0;
- public bool HasTransferEncoding => (_bits & 0x20000000000L) != 0;
+ public bool HasCookie => (_bits & 0x40000L) != 0;
+ public bool HasTransferEncoding => (_bits & 0x40000000000L) != 0;
public int HostCount => _headers._Host.Count;
@@ -508,14 +510,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
_headers._Path = value;
}
}
- public StringValues HeaderScheme
+ public StringValues HeaderProtocol
{
get
{
StringValues value = default;
if ((_bits & 0x80L) != 0)
{
- value = _headers._Scheme;
+ value = _headers._Protocol;
}
return value;
}
@@ -529,6 +531,30 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
_bits &= ~0x80L;
}
+ _headers._Protocol = value;
+ }
+ }
+ public StringValues HeaderScheme
+ {
+ get
+ {
+ StringValues value = default;
+ if ((_bits & 0x100L) != 0)
+ {
+ value = _headers._Scheme;
+ }
+ return value;
+ }
+ set
+ {
+ if (!StringValues.IsNullOrEmpty(value))
+ {
+ _bits |= 0x100L;
+ }
+ else
+ {
+ _bits &= ~0x100L;
+ }
_headers._Scheme = value;
}
}
@@ -537,7 +563,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
StringValues value = default;
- if ((_bits & 0x20000000000L) != 0)
+ if ((_bits & 0x40000000000L) != 0)
{
value = _headers._TransferEncoding;
}
@@ -547,11 +573,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (!StringValues.IsNullOrEmpty(value))
{
- _bits |= 0x20000000000L;
+ _bits |= 0x40000000000L;
}
else
{
- _bits &= ~0x20000000000L;
+ _bits &= ~0x40000000000L;
}
_headers._TransferEncoding = value;
}
@@ -690,7 +716,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._AcceptCharset;
- if ((_bits & 0x100L) != 0)
+ if ((_bits & 0x200L) != 0)
{
return value;
}
@@ -700,7 +726,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x100L;
+ var flag = 0x200L;
if (value.Count > 0)
{
_bits |= flag;
@@ -718,7 +744,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._AcceptEncoding;
- if ((_bits & 0x200L) != 0)
+ if ((_bits & 0x400L) != 0)
{
return value;
}
@@ -728,7 +754,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x200L;
+ var flag = 0x400L;
if (value.Count > 0)
{
_bits |= flag;
@@ -746,7 +772,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._AcceptLanguage;
- if ((_bits & 0x400L) != 0)
+ if ((_bits & 0x800L) != 0)
{
return value;
}
@@ -756,7 +782,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x400L;
+ var flag = 0x800L;
if (value.Count > 0)
{
_bits |= flag;
@@ -774,7 +800,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._AccessControlRequestHeaders;
- if ((_bits & 0x800L) != 0)
+ if ((_bits & 0x1000L) != 0)
{
return value;
}
@@ -784,7 +810,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x800L;
+ var flag = 0x1000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -802,7 +828,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._AccessControlRequestMethod;
- if ((_bits & 0x1000L) != 0)
+ if ((_bits & 0x2000L) != 0)
{
return value;
}
@@ -812,7 +838,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x1000L;
+ var flag = 0x2000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -830,7 +856,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Authorization;
- if ((_bits & 0x2000L) != 0)
+ if ((_bits & 0x4000L) != 0)
{
return value;
}
@@ -840,7 +866,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x2000L;
+ var flag = 0x4000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -858,7 +884,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Baggage;
- if ((_bits & 0x4000L) != 0)
+ if ((_bits & 0x8000L) != 0)
{
return value;
}
@@ -868,7 +894,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x4000L;
+ var flag = 0x8000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -886,7 +912,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._CacheControl;
- if ((_bits & 0x8000L) != 0)
+ if ((_bits & 0x10000L) != 0)
{
return value;
}
@@ -896,7 +922,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x8000L;
+ var flag = 0x10000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -914,7 +940,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._ContentType;
- if ((_bits & 0x10000L) != 0)
+ if ((_bits & 0x20000L) != 0)
{
return value;
}
@@ -924,7 +950,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x10000L;
+ var flag = 0x20000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -942,7 +968,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Cookie;
- if ((_bits & 0x20000L) != 0)
+ if ((_bits & 0x40000L) != 0)
{
return value;
}
@@ -952,7 +978,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x20000L;
+ var flag = 0x40000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -970,7 +996,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._CorrelationContext;
- if ((_bits & 0x40000L) != 0)
+ if ((_bits & 0x80000L) != 0)
{
return value;
}
@@ -980,7 +1006,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x40000L;
+ var flag = 0x80000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -998,7 +1024,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Date;
- if ((_bits & 0x80000L) != 0)
+ if ((_bits & 0x100000L) != 0)
{
return value;
}
@@ -1008,7 +1034,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x80000L;
+ var flag = 0x100000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1026,7 +1052,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Expect;
- if ((_bits & 0x100000L) != 0)
+ if ((_bits & 0x200000L) != 0)
{
return value;
}
@@ -1036,7 +1062,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x100000L;
+ var flag = 0x200000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1054,7 +1080,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._From;
- if ((_bits & 0x200000L) != 0)
+ if ((_bits & 0x400000L) != 0)
{
return value;
}
@@ -1064,7 +1090,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x200000L;
+ var flag = 0x400000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1082,7 +1108,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._GrpcAcceptEncoding;
- if ((_bits & 0x400000L) != 0)
+ if ((_bits & 0x800000L) != 0)
{
return value;
}
@@ -1092,7 +1118,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x400000L;
+ var flag = 0x800000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1110,7 +1136,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._GrpcEncoding;
- if ((_bits & 0x800000L) != 0)
+ if ((_bits & 0x1000000L) != 0)
{
return value;
}
@@ -1120,7 +1146,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x800000L;
+ var flag = 0x1000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1138,7 +1164,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._GrpcTimeout;
- if ((_bits & 0x1000000L) != 0)
+ if ((_bits & 0x2000000L) != 0)
{
return value;
}
@@ -1148,7 +1174,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x1000000L;
+ var flag = 0x2000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1166,7 +1192,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._IfMatch;
- if ((_bits & 0x2000000L) != 0)
+ if ((_bits & 0x4000000L) != 0)
{
return value;
}
@@ -1176,7 +1202,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x2000000L;
+ var flag = 0x4000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1194,7 +1220,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._IfModifiedSince;
- if ((_bits & 0x4000000L) != 0)
+ if ((_bits & 0x8000000L) != 0)
{
return value;
}
@@ -1204,7 +1230,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x4000000L;
+ var flag = 0x8000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1222,7 +1248,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._IfNoneMatch;
- if ((_bits & 0x8000000L) != 0)
+ if ((_bits & 0x10000000L) != 0)
{
return value;
}
@@ -1232,7 +1258,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x8000000L;
+ var flag = 0x10000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1250,7 +1276,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._IfRange;
- if ((_bits & 0x10000000L) != 0)
+ if ((_bits & 0x20000000L) != 0)
{
return value;
}
@@ -1260,7 +1286,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x10000000L;
+ var flag = 0x20000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1278,7 +1304,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._IfUnmodifiedSince;
- if ((_bits & 0x20000000L) != 0)
+ if ((_bits & 0x40000000L) != 0)
{
return value;
}
@@ -1288,7 +1314,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x20000000L;
+ var flag = 0x40000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1306,7 +1332,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._KeepAlive;
- if ((_bits & 0x40000000L) != 0)
+ if ((_bits & 0x80000000L) != 0)
{
return value;
}
@@ -1316,7 +1342,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x40000000L;
+ var flag = 0x80000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1334,7 +1360,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._MaxForwards;
- if ((_bits & 0x80000000L) != 0)
+ if ((_bits & 0x100000000L) != 0)
{
return value;
}
@@ -1344,7 +1370,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x80000000L;
+ var flag = 0x100000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1362,7 +1388,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Origin;
- if ((_bits & 0x100000000L) != 0)
+ if ((_bits & 0x200000000L) != 0)
{
return value;
}
@@ -1372,7 +1398,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x100000000L;
+ var flag = 0x200000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1390,7 +1416,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Pragma;
- if ((_bits & 0x200000000L) != 0)
+ if ((_bits & 0x400000000L) != 0)
{
return value;
}
@@ -1400,7 +1426,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x200000000L;
+ var flag = 0x400000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1418,7 +1444,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._ProxyAuthorization;
- if ((_bits & 0x400000000L) != 0)
+ if ((_bits & 0x800000000L) != 0)
{
return value;
}
@@ -1428,7 +1454,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x400000000L;
+ var flag = 0x800000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1446,7 +1472,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Range;
- if ((_bits & 0x800000000L) != 0)
+ if ((_bits & 0x1000000000L) != 0)
{
return value;
}
@@ -1456,7 +1482,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x800000000L;
+ var flag = 0x1000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1474,7 +1500,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Referer;
- if ((_bits & 0x1000000000L) != 0)
+ if ((_bits & 0x2000000000L) != 0)
{
return value;
}
@@ -1484,7 +1510,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x1000000000L;
+ var flag = 0x2000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1502,7 +1528,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._RequestId;
- if ((_bits & 0x2000000000L) != 0)
+ if ((_bits & 0x4000000000L) != 0)
{
return value;
}
@@ -1512,7 +1538,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x2000000000L;
+ var flag = 0x4000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1530,7 +1556,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._TE;
- if ((_bits & 0x4000000000L) != 0)
+ if ((_bits & 0x8000000000L) != 0)
{
return value;
}
@@ -1540,7 +1566,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x4000000000L;
+ var flag = 0x8000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1558,7 +1584,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._TraceParent;
- if ((_bits & 0x8000000000L) != 0)
+ if ((_bits & 0x10000000000L) != 0)
{
return value;
}
@@ -1568,7 +1594,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x8000000000L;
+ var flag = 0x10000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1586,7 +1612,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._TraceState;
- if ((_bits & 0x10000000000L) != 0)
+ if ((_bits & 0x20000000000L) != 0)
{
return value;
}
@@ -1596,7 +1622,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x10000000000L;
+ var flag = 0x20000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1614,7 +1640,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._TransferEncoding;
- if ((_bits & 0x20000000000L) != 0)
+ if ((_bits & 0x40000000000L) != 0)
{
return value;
}
@@ -1624,7 +1650,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x20000000000L;
+ var flag = 0x40000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1642,7 +1668,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Translate;
- if ((_bits & 0x40000000000L) != 0)
+ if ((_bits & 0x80000000000L) != 0)
{
return value;
}
@@ -1652,7 +1678,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x40000000000L;
+ var flag = 0x80000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1670,7 +1696,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Upgrade;
- if ((_bits & 0x80000000000L) != 0)
+ if ((_bits & 0x100000000000L) != 0)
{
return value;
}
@@ -1680,7 +1706,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x80000000000L;
+ var flag = 0x100000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1698,7 +1724,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._UpgradeInsecureRequests;
- if ((_bits & 0x100000000000L) != 0)
+ if ((_bits & 0x200000000000L) != 0)
{
return value;
}
@@ -1708,7 +1734,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x100000000000L;
+ var flag = 0x200000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1726,7 +1752,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Via;
- if ((_bits & 0x200000000000L) != 0)
+ if ((_bits & 0x400000000000L) != 0)
{
return value;
}
@@ -1736,7 +1762,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x200000000000L;
+ var flag = 0x400000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -1754,7 +1780,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
get
{
var value = _headers._Warning;
- if ((_bits & 0x400000000000L) != 0)
+ if ((_bits & 0x800000000000L) != 0)
{
return value;
}
@@ -1764,7 +1790,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (_isReadOnly) { ThrowHeadersReadOnlyException(); }
- var flag = 0x400000000000L;
+ var flag = 0x800000000000L;
if (value.Count > 0)
{
_bits |= flag;
@@ -2575,7 +2601,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.TE, key))
{
- if ((_bits & 0x4000000000L) != 0)
+ if ((_bits & 0x8000000000L) != 0)
{
value = _headers._TE;
return true;
@@ -2585,7 +2611,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.TE.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x4000000000L) != 0)
+ if ((_bits & 0x8000000000L) != 0)
{
value = _headers._TE;
return true;
@@ -2598,7 +2624,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.Via, key))
{
- if ((_bits & 0x200000000000L) != 0)
+ if ((_bits & 0x400000000000L) != 0)
{
value = _headers._Via;
return true;
@@ -2608,7 +2634,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.Via.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200000000000L) != 0)
+ if ((_bits & 0x400000000000L) != 0)
{
value = _headers._Via;
return true;
@@ -2630,7 +2656,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Date, key))
{
- if ((_bits & 0x80000L) != 0)
+ if ((_bits & 0x100000L) != 0)
{
value = _headers._Date;
return true;
@@ -2639,7 +2665,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.From, key))
{
- if ((_bits & 0x200000L) != 0)
+ if ((_bits & 0x400000L) != 0)
{
value = _headers._From;
return true;
@@ -2658,7 +2684,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Date.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80000L) != 0)
+ if ((_bits & 0x100000L) != 0)
{
value = _headers._Date;
return true;
@@ -2667,7 +2693,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.From.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200000L) != 0)
+ if ((_bits & 0x400000L) != 0)
{
value = _headers._From;
return true;
@@ -2689,7 +2715,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Range, key))
{
- if ((_bits & 0x800000000L) != 0)
+ if ((_bits & 0x1000000000L) != 0)
{
value = _headers._Range;
return true;
@@ -2708,7 +2734,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Range.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x800000000L) != 0)
+ if ((_bits & 0x1000000000L) != 0)
{
value = _headers._Range;
return true;
@@ -2730,7 +2756,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Cookie, key))
{
- if ((_bits & 0x20000L) != 0)
+ if ((_bits & 0x40000L) != 0)
{
value = _headers._Cookie;
return true;
@@ -2739,7 +2765,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Expect, key))
{
- if ((_bits & 0x100000L) != 0)
+ if ((_bits & 0x200000L) != 0)
{
value = _headers._Expect;
return true;
@@ -2748,7 +2774,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Origin, key))
{
- if ((_bits & 0x100000000L) != 0)
+ if ((_bits & 0x200000000L) != 0)
{
value = _headers._Origin;
return true;
@@ -2757,7 +2783,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Pragma, key))
{
- if ((_bits & 0x200000000L) != 0)
+ if ((_bits & 0x400000000L) != 0)
{
value = _headers._Pragma;
return true;
@@ -2776,7 +2802,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Cookie.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x20000L) != 0)
+ if ((_bits & 0x40000L) != 0)
{
value = _headers._Cookie;
return true;
@@ -2785,7 +2811,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Expect.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100000L) != 0)
+ if ((_bits & 0x200000L) != 0)
{
value = _headers._Expect;
return true;
@@ -2794,7 +2820,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Origin.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100000000L) != 0)
+ if ((_bits & 0x200000000L) != 0)
{
value = _headers._Origin;
return true;
@@ -2803,7 +2829,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Pragma.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200000000L) != 0)
+ if ((_bits & 0x400000000L) != 0)
{
value = _headers._Pragma;
return true;
@@ -2825,7 +2851,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Scheme, key))
{
- if ((_bits & 0x80L) != 0)
+ if ((_bits & 0x100L) != 0)
{
value = _headers._Scheme;
return true;
@@ -2834,7 +2860,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Baggage, key))
{
- if ((_bits & 0x4000L) != 0)
+ if ((_bits & 0x8000L) != 0)
{
value = _headers._Baggage;
return true;
@@ -2843,7 +2869,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Referer, key))
{
- if ((_bits & 0x1000000000L) != 0)
+ if ((_bits & 0x2000000000L) != 0)
{
value = _headers._Referer;
return true;
@@ -2852,7 +2878,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Upgrade, key))
{
- if ((_bits & 0x80000000000L) != 0)
+ if ((_bits & 0x100000000000L) != 0)
{
value = _headers._Upgrade;
return true;
@@ -2861,7 +2887,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Warning, key))
{
- if ((_bits & 0x400000000000L) != 0)
+ if ((_bits & 0x800000000000L) != 0)
{
value = _headers._Warning;
return true;
@@ -2880,7 +2906,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Scheme.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80L) != 0)
+ if ((_bits & 0x100L) != 0)
{
value = _headers._Scheme;
return true;
@@ -2889,7 +2915,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Baggage.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x4000L) != 0)
+ if ((_bits & 0x8000L) != 0)
{
value = _headers._Baggage;
return true;
@@ -2898,7 +2924,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Referer.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x1000000000L) != 0)
+ if ((_bits & 0x2000000000L) != 0)
{
value = _headers._Referer;
return true;
@@ -2907,7 +2933,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Upgrade.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80000000000L) != 0)
+ if ((_bits & 0x100000000000L) != 0)
{
value = _headers._Upgrade;
return true;
@@ -2916,7 +2942,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Warning.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400000000000L) != 0)
+ if ((_bits & 0x800000000000L) != 0)
{
value = _headers._Warning;
return true;
@@ -2929,7 +2955,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.IfMatch, key))
{
- if ((_bits & 0x2000000L) != 0)
+ if ((_bits & 0x4000000L) != 0)
{
value = _headers._IfMatch;
return true;
@@ -2938,7 +2964,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.IfRange, key))
{
- if ((_bits & 0x10000000L) != 0)
+ if ((_bits & 0x20000000L) != 0)
{
value = _headers._IfRange;
return true;
@@ -2948,7 +2974,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.IfMatch.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x2000000L) != 0)
+ if ((_bits & 0x4000000L) != 0)
{
value = _headers._IfMatch;
return true;
@@ -2957,7 +2983,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.IfRange.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x10000000L) != 0)
+ if ((_bits & 0x20000000L) != 0)
{
value = _headers._IfRange;
return true;
@@ -2968,9 +2994,18 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
case 9:
{
+ if (ReferenceEquals(HeaderNames.Protocol, key))
+ {
+ if ((_bits & 0x80L) != 0)
+ {
+ value = _headers._Protocol;
+ return true;
+ }
+ return false;
+ }
if (ReferenceEquals(HeaderNames.Translate, key))
{
- if ((_bits & 0x40000000000L) != 0)
+ if ((_bits & 0x80000000000L) != 0)
{
value = _headers._Translate;
return true;
@@ -2978,9 +3013,18 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
return false;
}
+ if (HeaderNames.Protocol.Equals(key, StringComparison.OrdinalIgnoreCase))
+ {
+ if ((_bits & 0x80L) != 0)
+ {
+ value = _headers._Protocol;
+ return true;
+ }
+ return false;
+ }
if (HeaderNames.Translate.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x40000000000L) != 0)
+ if ((_bits & 0x80000000000L) != 0)
{
value = _headers._Translate;
return true;
@@ -3020,7 +3064,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.KeepAlive, key))
{
- if ((_bits & 0x40000000L) != 0)
+ if ((_bits & 0x80000000L) != 0)
{
value = _headers._KeepAlive;
return true;
@@ -3029,7 +3073,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.RequestId, key))
{
- if ((_bits & 0x2000000000L) != 0)
+ if ((_bits & 0x4000000000L) != 0)
{
value = _headers._RequestId;
return true;
@@ -3038,7 +3082,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.TraceState, key))
{
- if ((_bits & 0x10000000000L) != 0)
+ if ((_bits & 0x20000000000L) != 0)
{
value = _headers._TraceState;
return true;
@@ -3075,7 +3119,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.KeepAlive.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x40000000L) != 0)
+ if ((_bits & 0x80000000L) != 0)
{
value = _headers._KeepAlive;
return true;
@@ -3084,7 +3128,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.RequestId.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x2000000000L) != 0)
+ if ((_bits & 0x4000000000L) != 0)
{
value = _headers._RequestId;
return true;
@@ -3093,7 +3137,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.TraceState.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x10000000000L) != 0)
+ if ((_bits & 0x20000000000L) != 0)
{
value = _headers._TraceState;
return true;
@@ -3106,7 +3150,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.TraceParent, key))
{
- if ((_bits & 0x8000000000L) != 0)
+ if ((_bits & 0x10000000000L) != 0)
{
value = _headers._TraceParent;
return true;
@@ -3116,7 +3160,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.TraceParent.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x8000000000L) != 0)
+ if ((_bits & 0x10000000000L) != 0)
{
value = _headers._TraceParent;
return true;
@@ -3129,7 +3173,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.ContentType, key))
{
- if ((_bits & 0x10000L) != 0)
+ if ((_bits & 0x20000L) != 0)
{
value = _headers._ContentType;
return true;
@@ -3138,7 +3182,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.GrpcTimeout, key))
{
- if ((_bits & 0x1000000L) != 0)
+ if ((_bits & 0x2000000L) != 0)
{
value = _headers._GrpcTimeout;
return true;
@@ -3147,7 +3191,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.MaxForwards, key))
{
- if ((_bits & 0x80000000L) != 0)
+ if ((_bits & 0x100000000L) != 0)
{
value = _headers._MaxForwards;
return true;
@@ -3157,7 +3201,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.ContentType.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x10000L) != 0)
+ if ((_bits & 0x20000L) != 0)
{
value = _headers._ContentType;
return true;
@@ -3166,7 +3210,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.GrpcTimeout.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x1000000L) != 0)
+ if ((_bits & 0x2000000L) != 0)
{
value = _headers._GrpcTimeout;
return true;
@@ -3175,7 +3219,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.MaxForwards.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80000000L) != 0)
+ if ((_bits & 0x100000000L) != 0)
{
value = _headers._MaxForwards;
return true;
@@ -3188,7 +3232,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.Authorization, key))
{
- if ((_bits & 0x2000L) != 0)
+ if ((_bits & 0x4000L) != 0)
{
value = _headers._Authorization;
return true;
@@ -3197,7 +3241,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.CacheControl, key))
{
- if ((_bits & 0x8000L) != 0)
+ if ((_bits & 0x10000L) != 0)
{
value = _headers._CacheControl;
return true;
@@ -3206,7 +3250,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.GrpcEncoding, key))
{
- if ((_bits & 0x800000L) != 0)
+ if ((_bits & 0x1000000L) != 0)
{
value = _headers._GrpcEncoding;
return true;
@@ -3215,7 +3259,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.IfNoneMatch, key))
{
- if ((_bits & 0x8000000L) != 0)
+ if ((_bits & 0x10000000L) != 0)
{
value = _headers._IfNoneMatch;
return true;
@@ -3225,7 +3269,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.Authorization.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x2000L) != 0)
+ if ((_bits & 0x4000L) != 0)
{
value = _headers._Authorization;
return true;
@@ -3234,7 +3278,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.CacheControl.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x8000L) != 0)
+ if ((_bits & 0x10000L) != 0)
{
value = _headers._CacheControl;
return true;
@@ -3243,7 +3287,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.GrpcEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x800000L) != 0)
+ if ((_bits & 0x1000000L) != 0)
{
value = _headers._GrpcEncoding;
return true;
@@ -3252,7 +3296,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.IfNoneMatch.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x8000000L) != 0)
+ if ((_bits & 0x10000000L) != 0)
{
value = _headers._IfNoneMatch;
return true;
@@ -3265,7 +3309,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AcceptCharset, key))
{
- if ((_bits & 0x100L) != 0)
+ if ((_bits & 0x200L) != 0)
{
value = _headers._AcceptCharset;
return true;
@@ -3284,7 +3328,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AcceptCharset.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100L) != 0)
+ if ((_bits & 0x200L) != 0)
{
value = _headers._AcceptCharset;
return true;
@@ -3306,7 +3350,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AcceptEncoding, key))
{
- if ((_bits & 0x200L) != 0)
+ if ((_bits & 0x400L) != 0)
{
value = _headers._AcceptEncoding;
return true;
@@ -3315,7 +3359,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.AcceptLanguage, key))
{
- if ((_bits & 0x400L) != 0)
+ if ((_bits & 0x800L) != 0)
{
value = _headers._AcceptLanguage;
return true;
@@ -3325,7 +3369,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AcceptEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200L) != 0)
+ if ((_bits & 0x400L) != 0)
{
value = _headers._AcceptEncoding;
return true;
@@ -3334,7 +3378,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.AcceptLanguage.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400L) != 0)
+ if ((_bits & 0x800L) != 0)
{
value = _headers._AcceptLanguage;
return true;
@@ -3347,7 +3391,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.IfModifiedSince, key))
{
- if ((_bits & 0x4000000L) != 0)
+ if ((_bits & 0x8000000L) != 0)
{
value = _headers._IfModifiedSince;
return true;
@@ -3356,7 +3400,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.TransferEncoding, key))
{
- if ((_bits & 0x20000000000L) != 0)
+ if ((_bits & 0x40000000000L) != 0)
{
value = _headers._TransferEncoding;
return true;
@@ -3366,7 +3410,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.IfModifiedSince.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x4000000L) != 0)
+ if ((_bits & 0x8000000L) != 0)
{
value = _headers._IfModifiedSince;
return true;
@@ -3375,7 +3419,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.TransferEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x20000000000L) != 0)
+ if ((_bits & 0x40000000000L) != 0)
{
value = _headers._TransferEncoding;
return true;
@@ -3388,7 +3432,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.CorrelationContext, key))
{
- if ((_bits & 0x40000L) != 0)
+ if ((_bits & 0x80000L) != 0)
{
value = _headers._CorrelationContext;
return true;
@@ -3397,7 +3441,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.IfUnmodifiedSince, key))
{
- if ((_bits & 0x20000000L) != 0)
+ if ((_bits & 0x40000000L) != 0)
{
value = _headers._IfUnmodifiedSince;
return true;
@@ -3406,7 +3450,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.ProxyAuthorization, key))
{
- if ((_bits & 0x400000000L) != 0)
+ if ((_bits & 0x800000000L) != 0)
{
value = _headers._ProxyAuthorization;
return true;
@@ -3416,7 +3460,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.CorrelationContext.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x40000L) != 0)
+ if ((_bits & 0x80000L) != 0)
{
value = _headers._CorrelationContext;
return true;
@@ -3425,7 +3469,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.IfUnmodifiedSince.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x20000000L) != 0)
+ if ((_bits & 0x40000000L) != 0)
{
value = _headers._IfUnmodifiedSince;
return true;
@@ -3434,7 +3478,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.ProxyAuthorization.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400000000L) != 0)
+ if ((_bits & 0x800000000L) != 0)
{
value = _headers._ProxyAuthorization;
return true;
@@ -3447,7 +3491,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.GrpcAcceptEncoding, key))
{
- if ((_bits & 0x400000L) != 0)
+ if ((_bits & 0x800000L) != 0)
{
value = _headers._GrpcAcceptEncoding;
return true;
@@ -3457,7 +3501,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.GrpcAcceptEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400000L) != 0)
+ if ((_bits & 0x800000L) != 0)
{
value = _headers._GrpcAcceptEncoding;
return true;
@@ -3470,7 +3514,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.UpgradeInsecureRequests, key))
{
- if ((_bits & 0x100000000000L) != 0)
+ if ((_bits & 0x200000000000L) != 0)
{
value = _headers._UpgradeInsecureRequests;
return true;
@@ -3480,7 +3524,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.UpgradeInsecureRequests.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100000000000L) != 0)
+ if ((_bits & 0x200000000000L) != 0)
{
value = _headers._UpgradeInsecureRequests;
return true;
@@ -3493,7 +3537,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AccessControlRequestMethod, key))
{
- if ((_bits & 0x1000L) != 0)
+ if ((_bits & 0x2000L) != 0)
{
value = _headers._AccessControlRequestMethod;
return true;
@@ -3503,7 +3547,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AccessControlRequestMethod.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x1000L) != 0)
+ if ((_bits & 0x2000L) != 0)
{
value = _headers._AccessControlRequestMethod;
return true;
@@ -3516,7 +3560,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AccessControlRequestHeaders, key))
{
- if ((_bits & 0x800L) != 0)
+ if ((_bits & 0x1000L) != 0)
{
value = _headers._AccessControlRequestHeaders;
return true;
@@ -3526,7 +3570,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AccessControlRequestHeaders.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x800L) != 0)
+ if ((_bits & 0x1000L) != 0)
{
value = _headers._AccessControlRequestHeaders;
return true;
@@ -3548,14 +3592,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.TE, key))
{
- _bits |= 0x4000000000L;
+ _bits |= 0x8000000000L;
_headers._TE = value;
return;
}
if (HeaderNames.TE.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x4000000000L;
+ _bits |= 0x8000000000L;
_headers._TE = value;
return;
}
@@ -3565,14 +3609,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.Via, key))
{
- _bits |= 0x200000000000L;
+ _bits |= 0x400000000000L;
_headers._Via = value;
return;
}
if (HeaderNames.Via.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x200000000000L;
+ _bits |= 0x400000000000L;
_headers._Via = value;
return;
}
@@ -3588,13 +3632,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Date, key))
{
- _bits |= 0x80000L;
+ _bits |= 0x100000L;
_headers._Date = value;
return;
}
if (ReferenceEquals(HeaderNames.From, key))
{
- _bits |= 0x200000L;
+ _bits |= 0x400000L;
_headers._From = value;
return;
}
@@ -3607,13 +3651,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Date.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x80000L;
+ _bits |= 0x100000L;
_headers._Date = value;
return;
}
if (HeaderNames.From.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x200000L;
+ _bits |= 0x400000L;
_headers._From = value;
return;
}
@@ -3629,7 +3673,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Range, key))
{
- _bits |= 0x800000000L;
+ _bits |= 0x1000000000L;
_headers._Range = value;
return;
}
@@ -3642,7 +3686,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Range.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x800000000L;
+ _bits |= 0x1000000000L;
_headers._Range = value;
return;
}
@@ -3658,25 +3702,25 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Cookie, key))
{
- _bits |= 0x20000L;
+ _bits |= 0x40000L;
_headers._Cookie = value;
return;
}
if (ReferenceEquals(HeaderNames.Expect, key))
{
- _bits |= 0x100000L;
+ _bits |= 0x200000L;
_headers._Expect = value;
return;
}
if (ReferenceEquals(HeaderNames.Origin, key))
{
- _bits |= 0x100000000L;
+ _bits |= 0x200000000L;
_headers._Origin = value;
return;
}
if (ReferenceEquals(HeaderNames.Pragma, key))
{
- _bits |= 0x200000000L;
+ _bits |= 0x400000000L;
_headers._Pragma = value;
return;
}
@@ -3689,25 +3733,25 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Cookie.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x20000L;
+ _bits |= 0x40000L;
_headers._Cookie = value;
return;
}
if (HeaderNames.Expect.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x100000L;
+ _bits |= 0x200000L;
_headers._Expect = value;
return;
}
if (HeaderNames.Origin.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x100000000L;
+ _bits |= 0x200000000L;
_headers._Origin = value;
return;
}
if (HeaderNames.Pragma.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x200000000L;
+ _bits |= 0x400000000L;
_headers._Pragma = value;
return;
}
@@ -3723,31 +3767,31 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Scheme, key))
{
- _bits |= 0x80L;
+ _bits |= 0x100L;
_headers._Scheme = value;
return;
}
if (ReferenceEquals(HeaderNames.Baggage, key))
{
- _bits |= 0x4000L;
+ _bits |= 0x8000L;
_headers._Baggage = value;
return;
}
if (ReferenceEquals(HeaderNames.Referer, key))
{
- _bits |= 0x1000000000L;
+ _bits |= 0x2000000000L;
_headers._Referer = value;
return;
}
if (ReferenceEquals(HeaderNames.Upgrade, key))
{
- _bits |= 0x80000000000L;
+ _bits |= 0x100000000000L;
_headers._Upgrade = value;
return;
}
if (ReferenceEquals(HeaderNames.Warning, key))
{
- _bits |= 0x400000000000L;
+ _bits |= 0x800000000000L;
_headers._Warning = value;
return;
}
@@ -3760,31 +3804,31 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Scheme.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x80L;
+ _bits |= 0x100L;
_headers._Scheme = value;
return;
}
if (HeaderNames.Baggage.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x4000L;
+ _bits |= 0x8000L;
_headers._Baggage = value;
return;
}
if (HeaderNames.Referer.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x1000000000L;
+ _bits |= 0x2000000000L;
_headers._Referer = value;
return;
}
if (HeaderNames.Upgrade.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x80000000000L;
+ _bits |= 0x100000000000L;
_headers._Upgrade = value;
return;
}
if (HeaderNames.Warning.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x400000000000L;
+ _bits |= 0x800000000000L;
_headers._Warning = value;
return;
}
@@ -3794,26 +3838,26 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.IfMatch, key))
{
- _bits |= 0x2000000L;
+ _bits |= 0x4000000L;
_headers._IfMatch = value;
return;
}
if (ReferenceEquals(HeaderNames.IfRange, key))
{
- _bits |= 0x10000000L;
+ _bits |= 0x20000000L;
_headers._IfRange = value;
return;
}
if (HeaderNames.IfMatch.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x2000000L;
+ _bits |= 0x4000000L;
_headers._IfMatch = value;
return;
}
if (HeaderNames.IfRange.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x10000000L;
+ _bits |= 0x20000000L;
_headers._IfRange = value;
return;
}
@@ -3821,16 +3865,28 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
case 9:
{
+ if (ReferenceEquals(HeaderNames.Protocol, key))
+ {
+ _bits |= 0x80L;
+ _headers._Protocol = value;
+ return;
+ }
if (ReferenceEquals(HeaderNames.Translate, key))
{
- _bits |= 0x40000000000L;
+ _bits |= 0x80000000000L;
_headers._Translate = value;
return;
}
+ if (HeaderNames.Protocol.Equals(key, StringComparison.OrdinalIgnoreCase))
+ {
+ _bits |= 0x80L;
+ _headers._Protocol = value;
+ return;
+ }
if (HeaderNames.Translate.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x40000000000L;
+ _bits |= 0x80000000000L;
_headers._Translate = value;
return;
}
@@ -3858,19 +3914,19 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.KeepAlive, key))
{
- _bits |= 0x40000000L;
+ _bits |= 0x80000000L;
_headers._KeepAlive = value;
return;
}
if (ReferenceEquals(HeaderNames.RequestId, key))
{
- _bits |= 0x2000000000L;
+ _bits |= 0x4000000000L;
_headers._RequestId = value;
return;
}
if (ReferenceEquals(HeaderNames.TraceState, key))
{
- _bits |= 0x10000000000L;
+ _bits |= 0x20000000000L;
_headers._TraceState = value;
return;
}
@@ -3895,19 +3951,19 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.KeepAlive.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x40000000L;
+ _bits |= 0x80000000L;
_headers._KeepAlive = value;
return;
}
if (HeaderNames.RequestId.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x2000000000L;
+ _bits |= 0x4000000000L;
_headers._RequestId = value;
return;
}
if (HeaderNames.TraceState.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x10000000000L;
+ _bits |= 0x20000000000L;
_headers._TraceState = value;
return;
}
@@ -3917,14 +3973,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.TraceParent, key))
{
- _bits |= 0x8000000000L;
+ _bits |= 0x10000000000L;
_headers._TraceParent = value;
return;
}
if (HeaderNames.TraceParent.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x8000000000L;
+ _bits |= 0x10000000000L;
_headers._TraceParent = value;
return;
}
@@ -3934,38 +3990,38 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.ContentType, key))
{
- _bits |= 0x10000L;
+ _bits |= 0x20000L;
_headers._ContentType = value;
return;
}
if (ReferenceEquals(HeaderNames.GrpcTimeout, key))
{
- _bits |= 0x1000000L;
+ _bits |= 0x2000000L;
_headers._GrpcTimeout = value;
return;
}
if (ReferenceEquals(HeaderNames.MaxForwards, key))
{
- _bits |= 0x80000000L;
+ _bits |= 0x100000000L;
_headers._MaxForwards = value;
return;
}
if (HeaderNames.ContentType.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x10000L;
+ _bits |= 0x20000L;
_headers._ContentType = value;
return;
}
if (HeaderNames.GrpcTimeout.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x1000000L;
+ _bits |= 0x2000000L;
_headers._GrpcTimeout = value;
return;
}
if (HeaderNames.MaxForwards.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x80000000L;
+ _bits |= 0x100000000L;
_headers._MaxForwards = value;
return;
}
@@ -3975,50 +4031,50 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.Authorization, key))
{
- _bits |= 0x2000L;
+ _bits |= 0x4000L;
_headers._Authorization = value;
return;
}
if (ReferenceEquals(HeaderNames.CacheControl, key))
{
- _bits |= 0x8000L;
+ _bits |= 0x10000L;
_headers._CacheControl = value;
return;
}
if (ReferenceEquals(HeaderNames.GrpcEncoding, key))
{
- _bits |= 0x800000L;
+ _bits |= 0x1000000L;
_headers._GrpcEncoding = value;
return;
}
if (ReferenceEquals(HeaderNames.IfNoneMatch, key))
{
- _bits |= 0x8000000L;
+ _bits |= 0x10000000L;
_headers._IfNoneMatch = value;
return;
}
if (HeaderNames.Authorization.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x2000L;
+ _bits |= 0x4000L;
_headers._Authorization = value;
return;
}
if (HeaderNames.CacheControl.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x8000L;
+ _bits |= 0x10000L;
_headers._CacheControl = value;
return;
}
if (HeaderNames.GrpcEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x800000L;
+ _bits |= 0x1000000L;
_headers._GrpcEncoding = value;
return;
}
if (HeaderNames.IfNoneMatch.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x8000000L;
+ _bits |= 0x10000000L;
_headers._IfNoneMatch = value;
return;
}
@@ -4028,7 +4084,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AcceptCharset, key))
{
- _bits |= 0x100L;
+ _bits |= 0x200L;
_headers._AcceptCharset = value;
return;
}
@@ -4040,7 +4096,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AcceptCharset.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x100L;
+ _bits |= 0x200L;
_headers._AcceptCharset = value;
return;
}
@@ -4055,26 +4111,26 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AcceptEncoding, key))
{
- _bits |= 0x200L;
+ _bits |= 0x400L;
_headers._AcceptEncoding = value;
return;
}
if (ReferenceEquals(HeaderNames.AcceptLanguage, key))
{
- _bits |= 0x400L;
+ _bits |= 0x800L;
_headers._AcceptLanguage = value;
return;
}
if (HeaderNames.AcceptEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x200L;
+ _bits |= 0x400L;
_headers._AcceptEncoding = value;
return;
}
if (HeaderNames.AcceptLanguage.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x400L;
+ _bits |= 0x800L;
_headers._AcceptLanguage = value;
return;
}
@@ -4084,26 +4140,26 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.IfModifiedSince, key))
{
- _bits |= 0x4000000L;
+ _bits |= 0x8000000L;
_headers._IfModifiedSince = value;
return;
}
if (ReferenceEquals(HeaderNames.TransferEncoding, key))
{
- _bits |= 0x20000000000L;
+ _bits |= 0x40000000000L;
_headers._TransferEncoding = value;
return;
}
if (HeaderNames.IfModifiedSince.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x4000000L;
+ _bits |= 0x8000000L;
_headers._IfModifiedSince = value;
return;
}
if (HeaderNames.TransferEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x20000000000L;
+ _bits |= 0x40000000000L;
_headers._TransferEncoding = value;
return;
}
@@ -4113,38 +4169,38 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.CorrelationContext, key))
{
- _bits |= 0x40000L;
+ _bits |= 0x80000L;
_headers._CorrelationContext = value;
return;
}
if (ReferenceEquals(HeaderNames.IfUnmodifiedSince, key))
{
- _bits |= 0x20000000L;
+ _bits |= 0x40000000L;
_headers._IfUnmodifiedSince = value;
return;
}
if (ReferenceEquals(HeaderNames.ProxyAuthorization, key))
{
- _bits |= 0x400000000L;
+ _bits |= 0x800000000L;
_headers._ProxyAuthorization = value;
return;
}
if (HeaderNames.CorrelationContext.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x40000L;
+ _bits |= 0x80000L;
_headers._CorrelationContext = value;
return;
}
if (HeaderNames.IfUnmodifiedSince.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x20000000L;
+ _bits |= 0x40000000L;
_headers._IfUnmodifiedSince = value;
return;
}
if (HeaderNames.ProxyAuthorization.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x400000000L;
+ _bits |= 0x800000000L;
_headers._ProxyAuthorization = value;
return;
}
@@ -4154,14 +4210,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.GrpcAcceptEncoding, key))
{
- _bits |= 0x400000L;
+ _bits |= 0x800000L;
_headers._GrpcAcceptEncoding = value;
return;
}
if (HeaderNames.GrpcAcceptEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x400000L;
+ _bits |= 0x800000L;
_headers._GrpcAcceptEncoding = value;
return;
}
@@ -4171,14 +4227,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.UpgradeInsecureRequests, key))
{
- _bits |= 0x100000000000L;
+ _bits |= 0x200000000000L;
_headers._UpgradeInsecureRequests = value;
return;
}
if (HeaderNames.UpgradeInsecureRequests.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x100000000000L;
+ _bits |= 0x200000000000L;
_headers._UpgradeInsecureRequests = value;
return;
}
@@ -4188,14 +4244,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AccessControlRequestMethod, key))
{
- _bits |= 0x1000L;
+ _bits |= 0x2000L;
_headers._AccessControlRequestMethod = value;
return;
}
if (HeaderNames.AccessControlRequestMethod.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x1000L;
+ _bits |= 0x2000L;
_headers._AccessControlRequestMethod = value;
return;
}
@@ -4205,14 +4261,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AccessControlRequestHeaders, key))
{
- _bits |= 0x800L;
+ _bits |= 0x1000L;
_headers._AccessControlRequestHeaders = value;
return;
}
if (HeaderNames.AccessControlRequestHeaders.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- _bits |= 0x800L;
+ _bits |= 0x1000L;
_headers._AccessControlRequestHeaders = value;
return;
}
@@ -4231,9 +4287,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.TE, key))
{
- if ((_bits & 0x4000000000L) == 0)
+ if ((_bits & 0x8000000000L) == 0)
{
- _bits |= 0x4000000000L;
+ _bits |= 0x8000000000L;
_headers._TE = value;
return true;
}
@@ -4242,9 +4298,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.TE.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x4000000000L) == 0)
+ if ((_bits & 0x8000000000L) == 0)
{
- _bits |= 0x4000000000L;
+ _bits |= 0x8000000000L;
_headers._TE = value;
return true;
}
@@ -4256,9 +4312,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.Via, key))
{
- if ((_bits & 0x200000000000L) == 0)
+ if ((_bits & 0x400000000000L) == 0)
{
- _bits |= 0x200000000000L;
+ _bits |= 0x400000000000L;
_headers._Via = value;
return true;
}
@@ -4267,9 +4323,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.Via.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200000000000L) == 0)
+ if ((_bits & 0x400000000000L) == 0)
{
- _bits |= 0x200000000000L;
+ _bits |= 0x400000000000L;
_headers._Via = value;
return true;
}
@@ -4291,9 +4347,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Date, key))
{
- if ((_bits & 0x80000L) == 0)
+ if ((_bits & 0x100000L) == 0)
{
- _bits |= 0x80000L;
+ _bits |= 0x100000L;
_headers._Date = value;
return true;
}
@@ -4301,9 +4357,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.From, key))
{
- if ((_bits & 0x200000L) == 0)
+ if ((_bits & 0x400000L) == 0)
{
- _bits |= 0x200000L;
+ _bits |= 0x400000L;
_headers._From = value;
return true;
}
@@ -4322,9 +4378,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Date.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80000L) == 0)
+ if ((_bits & 0x100000L) == 0)
{
- _bits |= 0x80000L;
+ _bits |= 0x100000L;
_headers._Date = value;
return true;
}
@@ -4332,9 +4388,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.From.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200000L) == 0)
+ if ((_bits & 0x400000L) == 0)
{
- _bits |= 0x200000L;
+ _bits |= 0x400000L;
_headers._From = value;
return true;
}
@@ -4356,9 +4412,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Range, key))
{
- if ((_bits & 0x800000000L) == 0)
+ if ((_bits & 0x1000000000L) == 0)
{
- _bits |= 0x800000000L;
+ _bits |= 0x1000000000L;
_headers._Range = value;
return true;
}
@@ -4377,9 +4433,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Range.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x800000000L) == 0)
+ if ((_bits & 0x1000000000L) == 0)
{
- _bits |= 0x800000000L;
+ _bits |= 0x1000000000L;
_headers._Range = value;
return true;
}
@@ -4401,9 +4457,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Cookie, key))
{
- if ((_bits & 0x20000L) == 0)
+ if ((_bits & 0x40000L) == 0)
{
- _bits |= 0x20000L;
+ _bits |= 0x40000L;
_headers._Cookie = value;
return true;
}
@@ -4411,9 +4467,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Expect, key))
{
- if ((_bits & 0x100000L) == 0)
+ if ((_bits & 0x200000L) == 0)
{
- _bits |= 0x100000L;
+ _bits |= 0x200000L;
_headers._Expect = value;
return true;
}
@@ -4421,9 +4477,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Origin, key))
{
- if ((_bits & 0x100000000L) == 0)
+ if ((_bits & 0x200000000L) == 0)
{
- _bits |= 0x100000000L;
+ _bits |= 0x200000000L;
_headers._Origin = value;
return true;
}
@@ -4431,9 +4487,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Pragma, key))
{
- if ((_bits & 0x200000000L) == 0)
+ if ((_bits & 0x400000000L) == 0)
{
- _bits |= 0x200000000L;
+ _bits |= 0x400000000L;
_headers._Pragma = value;
return true;
}
@@ -4452,9 +4508,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Cookie.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x20000L) == 0)
+ if ((_bits & 0x40000L) == 0)
{
- _bits |= 0x20000L;
+ _bits |= 0x40000L;
_headers._Cookie = value;
return true;
}
@@ -4462,9 +4518,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Expect.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100000L) == 0)
+ if ((_bits & 0x200000L) == 0)
{
- _bits |= 0x100000L;
+ _bits |= 0x200000L;
_headers._Expect = value;
return true;
}
@@ -4472,9 +4528,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Origin.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100000000L) == 0)
+ if ((_bits & 0x200000000L) == 0)
{
- _bits |= 0x100000000L;
+ _bits |= 0x200000000L;
_headers._Origin = value;
return true;
}
@@ -4482,9 +4538,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Pragma.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200000000L) == 0)
+ if ((_bits & 0x400000000L) == 0)
{
- _bits |= 0x200000000L;
+ _bits |= 0x400000000L;
_headers._Pragma = value;
return true;
}
@@ -4506,9 +4562,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Scheme, key))
{
- if ((_bits & 0x80L) == 0)
+ if ((_bits & 0x100L) == 0)
{
- _bits |= 0x80L;
+ _bits |= 0x100L;
_headers._Scheme = value;
return true;
}
@@ -4516,9 +4572,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Baggage, key))
{
- if ((_bits & 0x4000L) == 0)
+ if ((_bits & 0x8000L) == 0)
{
- _bits |= 0x4000L;
+ _bits |= 0x8000L;
_headers._Baggage = value;
return true;
}
@@ -4526,9 +4582,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Referer, key))
{
- if ((_bits & 0x1000000000L) == 0)
+ if ((_bits & 0x2000000000L) == 0)
{
- _bits |= 0x1000000000L;
+ _bits |= 0x2000000000L;
_headers._Referer = value;
return true;
}
@@ -4536,9 +4592,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Upgrade, key))
{
- if ((_bits & 0x80000000000L) == 0)
+ if ((_bits & 0x100000000000L) == 0)
{
- _bits |= 0x80000000000L;
+ _bits |= 0x100000000000L;
_headers._Upgrade = value;
return true;
}
@@ -4546,9 +4602,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Warning, key))
{
- if ((_bits & 0x400000000000L) == 0)
+ if ((_bits & 0x800000000000L) == 0)
{
- _bits |= 0x400000000000L;
+ _bits |= 0x800000000000L;
_headers._Warning = value;
return true;
}
@@ -4567,9 +4623,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Scheme.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80L) == 0)
+ if ((_bits & 0x100L) == 0)
{
- _bits |= 0x80L;
+ _bits |= 0x100L;
_headers._Scheme = value;
return true;
}
@@ -4577,9 +4633,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Baggage.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x4000L) == 0)
+ if ((_bits & 0x8000L) == 0)
{
- _bits |= 0x4000L;
+ _bits |= 0x8000L;
_headers._Baggage = value;
return true;
}
@@ -4587,9 +4643,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Referer.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x1000000000L) == 0)
+ if ((_bits & 0x2000000000L) == 0)
{
- _bits |= 0x1000000000L;
+ _bits |= 0x2000000000L;
_headers._Referer = value;
return true;
}
@@ -4597,9 +4653,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Upgrade.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80000000000L) == 0)
+ if ((_bits & 0x100000000000L) == 0)
{
- _bits |= 0x80000000000L;
+ _bits |= 0x100000000000L;
_headers._Upgrade = value;
return true;
}
@@ -4607,9 +4663,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Warning.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400000000000L) == 0)
+ if ((_bits & 0x800000000000L) == 0)
{
- _bits |= 0x400000000000L;
+ _bits |= 0x800000000000L;
_headers._Warning = value;
return true;
}
@@ -4621,9 +4677,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.IfMatch, key))
{
- if ((_bits & 0x2000000L) == 0)
+ if ((_bits & 0x4000000L) == 0)
{
- _bits |= 0x2000000L;
+ _bits |= 0x4000000L;
_headers._IfMatch = value;
return true;
}
@@ -4631,9 +4687,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.IfRange, key))
{
- if ((_bits & 0x10000000L) == 0)
+ if ((_bits & 0x20000000L) == 0)
{
- _bits |= 0x10000000L;
+ _bits |= 0x20000000L;
_headers._IfRange = value;
return true;
}
@@ -4642,9 +4698,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.IfMatch.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x2000000L) == 0)
+ if ((_bits & 0x4000000L) == 0)
{
- _bits |= 0x2000000L;
+ _bits |= 0x4000000L;
_headers._IfMatch = value;
return true;
}
@@ -4652,9 +4708,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.IfRange.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x10000000L) == 0)
+ if ((_bits & 0x20000000L) == 0)
{
- _bits |= 0x10000000L;
+ _bits |= 0x20000000L;
_headers._IfRange = value;
return true;
}
@@ -4664,22 +4720,42 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
case 9:
{
+ if (ReferenceEquals(HeaderNames.Protocol, key))
+ {
+ if ((_bits & 0x80L) == 0)
+ {
+ _bits |= 0x80L;
+ _headers._Protocol = value;
+ return true;
+ }
+ return false;
+ }
if (ReferenceEquals(HeaderNames.Translate, key))
{
- if ((_bits & 0x40000000000L) == 0)
+ if ((_bits & 0x80000000000L) == 0)
{
- _bits |= 0x40000000000L;
+ _bits |= 0x80000000000L;
_headers._Translate = value;
return true;
}
return false;
}
+ if (HeaderNames.Protocol.Equals(key, StringComparison.OrdinalIgnoreCase))
+ {
+ if ((_bits & 0x80L) == 0)
+ {
+ _bits |= 0x80L;
+ _headers._Protocol = value;
+ return true;
+ }
+ return false;
+ }
if (HeaderNames.Translate.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x40000000000L) == 0)
+ if ((_bits & 0x80000000000L) == 0)
{
- _bits |= 0x40000000000L;
+ _bits |= 0x80000000000L;
_headers._Translate = value;
return true;
}
@@ -4721,9 +4797,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.KeepAlive, key))
{
- if ((_bits & 0x40000000L) == 0)
+ if ((_bits & 0x80000000L) == 0)
{
- _bits |= 0x40000000L;
+ _bits |= 0x80000000L;
_headers._KeepAlive = value;
return true;
}
@@ -4731,9 +4807,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.RequestId, key))
{
- if ((_bits & 0x2000000000L) == 0)
+ if ((_bits & 0x4000000000L) == 0)
{
- _bits |= 0x2000000000L;
+ _bits |= 0x4000000000L;
_headers._RequestId = value;
return true;
}
@@ -4741,9 +4817,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.TraceState, key))
{
- if ((_bits & 0x10000000000L) == 0)
+ if ((_bits & 0x20000000000L) == 0)
{
- _bits |= 0x10000000000L;
+ _bits |= 0x20000000000L;
_headers._TraceState = value;
return true;
}
@@ -4782,9 +4858,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.KeepAlive.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x40000000L) == 0)
+ if ((_bits & 0x80000000L) == 0)
{
- _bits |= 0x40000000L;
+ _bits |= 0x80000000L;
_headers._KeepAlive = value;
return true;
}
@@ -4792,9 +4868,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.RequestId.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x2000000000L) == 0)
+ if ((_bits & 0x4000000000L) == 0)
{
- _bits |= 0x2000000000L;
+ _bits |= 0x4000000000L;
_headers._RequestId = value;
return true;
}
@@ -4802,9 +4878,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.TraceState.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x10000000000L) == 0)
+ if ((_bits & 0x20000000000L) == 0)
{
- _bits |= 0x10000000000L;
+ _bits |= 0x20000000000L;
_headers._TraceState = value;
return true;
}
@@ -4816,9 +4892,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.TraceParent, key))
{
- if ((_bits & 0x8000000000L) == 0)
+ if ((_bits & 0x10000000000L) == 0)
{
- _bits |= 0x8000000000L;
+ _bits |= 0x10000000000L;
_headers._TraceParent = value;
return true;
}
@@ -4827,9 +4903,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.TraceParent.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x8000000000L) == 0)
+ if ((_bits & 0x10000000000L) == 0)
{
- _bits |= 0x8000000000L;
+ _bits |= 0x10000000000L;
_headers._TraceParent = value;
return true;
}
@@ -4841,9 +4917,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.ContentType, key))
{
- if ((_bits & 0x10000L) == 0)
+ if ((_bits & 0x20000L) == 0)
{
- _bits |= 0x10000L;
+ _bits |= 0x20000L;
_headers._ContentType = value;
return true;
}
@@ -4851,9 +4927,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.GrpcTimeout, key))
{
- if ((_bits & 0x1000000L) == 0)
+ if ((_bits & 0x2000000L) == 0)
{
- _bits |= 0x1000000L;
+ _bits |= 0x2000000L;
_headers._GrpcTimeout = value;
return true;
}
@@ -4861,9 +4937,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.MaxForwards, key))
{
- if ((_bits & 0x80000000L) == 0)
+ if ((_bits & 0x100000000L) == 0)
{
- _bits |= 0x80000000L;
+ _bits |= 0x100000000L;
_headers._MaxForwards = value;
return true;
}
@@ -4872,9 +4948,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.ContentType.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x10000L) == 0)
+ if ((_bits & 0x20000L) == 0)
{
- _bits |= 0x10000L;
+ _bits |= 0x20000L;
_headers._ContentType = value;
return true;
}
@@ -4882,9 +4958,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.GrpcTimeout.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x1000000L) == 0)
+ if ((_bits & 0x2000000L) == 0)
{
- _bits |= 0x1000000L;
+ _bits |= 0x2000000L;
_headers._GrpcTimeout = value;
return true;
}
@@ -4892,9 +4968,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.MaxForwards.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80000000L) == 0)
+ if ((_bits & 0x100000000L) == 0)
{
- _bits |= 0x80000000L;
+ _bits |= 0x100000000L;
_headers._MaxForwards = value;
return true;
}
@@ -4906,9 +4982,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.Authorization, key))
{
- if ((_bits & 0x2000L) == 0)
+ if ((_bits & 0x4000L) == 0)
{
- _bits |= 0x2000L;
+ _bits |= 0x4000L;
_headers._Authorization = value;
return true;
}
@@ -4916,9 +4992,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.CacheControl, key))
{
- if ((_bits & 0x8000L) == 0)
+ if ((_bits & 0x10000L) == 0)
{
- _bits |= 0x8000L;
+ _bits |= 0x10000L;
_headers._CacheControl = value;
return true;
}
@@ -4926,9 +5002,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.GrpcEncoding, key))
{
- if ((_bits & 0x800000L) == 0)
+ if ((_bits & 0x1000000L) == 0)
{
- _bits |= 0x800000L;
+ _bits |= 0x1000000L;
_headers._GrpcEncoding = value;
return true;
}
@@ -4936,9 +5012,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.IfNoneMatch, key))
{
- if ((_bits & 0x8000000L) == 0)
+ if ((_bits & 0x10000000L) == 0)
{
- _bits |= 0x8000000L;
+ _bits |= 0x10000000L;
_headers._IfNoneMatch = value;
return true;
}
@@ -4947,9 +5023,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.Authorization.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x2000L) == 0)
+ if ((_bits & 0x4000L) == 0)
{
- _bits |= 0x2000L;
+ _bits |= 0x4000L;
_headers._Authorization = value;
return true;
}
@@ -4957,9 +5033,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.CacheControl.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x8000L) == 0)
+ if ((_bits & 0x10000L) == 0)
{
- _bits |= 0x8000L;
+ _bits |= 0x10000L;
_headers._CacheControl = value;
return true;
}
@@ -4967,9 +5043,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.GrpcEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x800000L) == 0)
+ if ((_bits & 0x1000000L) == 0)
{
- _bits |= 0x800000L;
+ _bits |= 0x1000000L;
_headers._GrpcEncoding = value;
return true;
}
@@ -4977,9 +5053,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.IfNoneMatch.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x8000000L) == 0)
+ if ((_bits & 0x10000000L) == 0)
{
- _bits |= 0x8000000L;
+ _bits |= 0x10000000L;
_headers._IfNoneMatch = value;
return true;
}
@@ -4991,9 +5067,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AcceptCharset, key))
{
- if ((_bits & 0x100L) == 0)
+ if ((_bits & 0x200L) == 0)
{
- _bits |= 0x100L;
+ _bits |= 0x200L;
_headers._AcceptCharset = value;
return true;
}
@@ -5011,9 +5087,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AcceptCharset.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100L) == 0)
+ if ((_bits & 0x200L) == 0)
{
- _bits |= 0x100L;
+ _bits |= 0x200L;
_headers._AcceptCharset = value;
return true;
}
@@ -5034,9 +5110,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AcceptEncoding, key))
{
- if ((_bits & 0x200L) == 0)
+ if ((_bits & 0x400L) == 0)
{
- _bits |= 0x200L;
+ _bits |= 0x400L;
_headers._AcceptEncoding = value;
return true;
}
@@ -5044,9 +5120,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.AcceptLanguage, key))
{
- if ((_bits & 0x400L) == 0)
+ if ((_bits & 0x800L) == 0)
{
- _bits |= 0x400L;
+ _bits |= 0x800L;
_headers._AcceptLanguage = value;
return true;
}
@@ -5055,9 +5131,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AcceptEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200L) == 0)
+ if ((_bits & 0x400L) == 0)
{
- _bits |= 0x200L;
+ _bits |= 0x400L;
_headers._AcceptEncoding = value;
return true;
}
@@ -5065,9 +5141,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.AcceptLanguage.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400L) == 0)
+ if ((_bits & 0x800L) == 0)
{
- _bits |= 0x400L;
+ _bits |= 0x800L;
_headers._AcceptLanguage = value;
return true;
}
@@ -5079,9 +5155,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.IfModifiedSince, key))
{
- if ((_bits & 0x4000000L) == 0)
+ if ((_bits & 0x8000000L) == 0)
{
- _bits |= 0x4000000L;
+ _bits |= 0x8000000L;
_headers._IfModifiedSince = value;
return true;
}
@@ -5089,9 +5165,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.TransferEncoding, key))
{
- if ((_bits & 0x20000000000L) == 0)
+ if ((_bits & 0x40000000000L) == 0)
{
- _bits |= 0x20000000000L;
+ _bits |= 0x40000000000L;
_headers._TransferEncoding = value;
return true;
}
@@ -5100,9 +5176,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.IfModifiedSince.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x4000000L) == 0)
+ if ((_bits & 0x8000000L) == 0)
{
- _bits |= 0x4000000L;
+ _bits |= 0x8000000L;
_headers._IfModifiedSince = value;
return true;
}
@@ -5110,9 +5186,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.TransferEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x20000000000L) == 0)
+ if ((_bits & 0x40000000000L) == 0)
{
- _bits |= 0x20000000000L;
+ _bits |= 0x40000000000L;
_headers._TransferEncoding = value;
return true;
}
@@ -5124,9 +5200,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.CorrelationContext, key))
{
- if ((_bits & 0x40000L) == 0)
+ if ((_bits & 0x80000L) == 0)
{
- _bits |= 0x40000L;
+ _bits |= 0x80000L;
_headers._CorrelationContext = value;
return true;
}
@@ -5134,9 +5210,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.IfUnmodifiedSince, key))
{
- if ((_bits & 0x20000000L) == 0)
+ if ((_bits & 0x40000000L) == 0)
{
- _bits |= 0x20000000L;
+ _bits |= 0x40000000L;
_headers._IfUnmodifiedSince = value;
return true;
}
@@ -5144,9 +5220,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.ProxyAuthorization, key))
{
- if ((_bits & 0x400000000L) == 0)
+ if ((_bits & 0x800000000L) == 0)
{
- _bits |= 0x400000000L;
+ _bits |= 0x800000000L;
_headers._ProxyAuthorization = value;
return true;
}
@@ -5155,9 +5231,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.CorrelationContext.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x40000L) == 0)
+ if ((_bits & 0x80000L) == 0)
{
- _bits |= 0x40000L;
+ _bits |= 0x80000L;
_headers._CorrelationContext = value;
return true;
}
@@ -5165,9 +5241,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.IfUnmodifiedSince.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x20000000L) == 0)
+ if ((_bits & 0x40000000L) == 0)
{
- _bits |= 0x20000000L;
+ _bits |= 0x40000000L;
_headers._IfUnmodifiedSince = value;
return true;
}
@@ -5175,9 +5251,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.ProxyAuthorization.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400000000L) == 0)
+ if ((_bits & 0x800000000L) == 0)
{
- _bits |= 0x400000000L;
+ _bits |= 0x800000000L;
_headers._ProxyAuthorization = value;
return true;
}
@@ -5189,9 +5265,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.GrpcAcceptEncoding, key))
{
- if ((_bits & 0x400000L) == 0)
+ if ((_bits & 0x800000L) == 0)
{
- _bits |= 0x400000L;
+ _bits |= 0x800000L;
_headers._GrpcAcceptEncoding = value;
return true;
}
@@ -5200,9 +5276,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.GrpcAcceptEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400000L) == 0)
+ if ((_bits & 0x800000L) == 0)
{
- _bits |= 0x400000L;
+ _bits |= 0x800000L;
_headers._GrpcAcceptEncoding = value;
return true;
}
@@ -5214,9 +5290,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.UpgradeInsecureRequests, key))
{
- if ((_bits & 0x100000000000L) == 0)
+ if ((_bits & 0x200000000000L) == 0)
{
- _bits |= 0x100000000000L;
+ _bits |= 0x200000000000L;
_headers._UpgradeInsecureRequests = value;
return true;
}
@@ -5225,9 +5301,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.UpgradeInsecureRequests.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100000000000L) == 0)
+ if ((_bits & 0x200000000000L) == 0)
{
- _bits |= 0x100000000000L;
+ _bits |= 0x200000000000L;
_headers._UpgradeInsecureRequests = value;
return true;
}
@@ -5239,9 +5315,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AccessControlRequestMethod, key))
{
- if ((_bits & 0x1000L) == 0)
+ if ((_bits & 0x2000L) == 0)
{
- _bits |= 0x1000L;
+ _bits |= 0x2000L;
_headers._AccessControlRequestMethod = value;
return true;
}
@@ -5250,9 +5326,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AccessControlRequestMethod.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x1000L) == 0)
+ if ((_bits & 0x2000L) == 0)
{
- _bits |= 0x1000L;
+ _bits |= 0x2000L;
_headers._AccessControlRequestMethod = value;
return true;
}
@@ -5264,9 +5340,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AccessControlRequestHeaders, key))
{
- if ((_bits & 0x800L) == 0)
+ if ((_bits & 0x1000L) == 0)
{
- _bits |= 0x800L;
+ _bits |= 0x1000L;
_headers._AccessControlRequestHeaders = value;
return true;
}
@@ -5275,9 +5351,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AccessControlRequestHeaders.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x800L) == 0)
+ if ((_bits & 0x1000L) == 0)
{
- _bits |= 0x800L;
+ _bits |= 0x1000L;
_headers._AccessControlRequestHeaders = value;
return true;
}
@@ -5298,9 +5374,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.TE, key))
{
- if ((_bits & 0x4000000000L) != 0)
+ if ((_bits & 0x8000000000L) != 0)
{
- _bits &= ~0x4000000000L;
+ _bits &= ~0x8000000000L;
_headers._TE = default(StringValues);
return true;
}
@@ -5309,9 +5385,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.TE.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x4000000000L) != 0)
+ if ((_bits & 0x8000000000L) != 0)
{
- _bits &= ~0x4000000000L;
+ _bits &= ~0x8000000000L;
_headers._TE = default(StringValues);
return true;
}
@@ -5323,9 +5399,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.Via, key))
{
- if ((_bits & 0x200000000000L) != 0)
+ if ((_bits & 0x400000000000L) != 0)
{
- _bits &= ~0x200000000000L;
+ _bits &= ~0x400000000000L;
_headers._Via = default(StringValues);
return true;
}
@@ -5334,9 +5410,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.Via.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200000000000L) != 0)
+ if ((_bits & 0x400000000000L) != 0)
{
- _bits &= ~0x200000000000L;
+ _bits &= ~0x400000000000L;
_headers._Via = default(StringValues);
return true;
}
@@ -5358,9 +5434,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Date, key))
{
- if ((_bits & 0x80000L) != 0)
+ if ((_bits & 0x100000L) != 0)
{
- _bits &= ~0x80000L;
+ _bits &= ~0x100000L;
_headers._Date = default(StringValues);
return true;
}
@@ -5368,9 +5444,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.From, key))
{
- if ((_bits & 0x200000L) != 0)
+ if ((_bits & 0x400000L) != 0)
{
- _bits &= ~0x200000L;
+ _bits &= ~0x400000L;
_headers._From = default(StringValues);
return true;
}
@@ -5389,9 +5465,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Date.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80000L) != 0)
+ if ((_bits & 0x100000L) != 0)
{
- _bits &= ~0x80000L;
+ _bits &= ~0x100000L;
_headers._Date = default(StringValues);
return true;
}
@@ -5399,9 +5475,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.From.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200000L) != 0)
+ if ((_bits & 0x400000L) != 0)
{
- _bits &= ~0x200000L;
+ _bits &= ~0x400000L;
_headers._From = default(StringValues);
return true;
}
@@ -5423,9 +5499,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Range, key))
{
- if ((_bits & 0x800000000L) != 0)
+ if ((_bits & 0x1000000000L) != 0)
{
- _bits &= ~0x800000000L;
+ _bits &= ~0x1000000000L;
_headers._Range = default(StringValues);
return true;
}
@@ -5444,9 +5520,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Range.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x800000000L) != 0)
+ if ((_bits & 0x1000000000L) != 0)
{
- _bits &= ~0x800000000L;
+ _bits &= ~0x1000000000L;
_headers._Range = default(StringValues);
return true;
}
@@ -5468,9 +5544,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Cookie, key))
{
- if ((_bits & 0x20000L) != 0)
+ if ((_bits & 0x40000L) != 0)
{
- _bits &= ~0x20000L;
+ _bits &= ~0x40000L;
_headers._Cookie = default(StringValues);
return true;
}
@@ -5478,9 +5554,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Expect, key))
{
- if ((_bits & 0x100000L) != 0)
+ if ((_bits & 0x200000L) != 0)
{
- _bits &= ~0x100000L;
+ _bits &= ~0x200000L;
_headers._Expect = default(StringValues);
return true;
}
@@ -5488,9 +5564,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Origin, key))
{
- if ((_bits & 0x100000000L) != 0)
+ if ((_bits & 0x200000000L) != 0)
{
- _bits &= ~0x100000000L;
+ _bits &= ~0x200000000L;
_headers._Origin = default(StringValues);
return true;
}
@@ -5498,9 +5574,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Pragma, key))
{
- if ((_bits & 0x200000000L) != 0)
+ if ((_bits & 0x400000000L) != 0)
{
- _bits &= ~0x200000000L;
+ _bits &= ~0x400000000L;
_headers._Pragma = default(StringValues);
return true;
}
@@ -5519,9 +5595,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Cookie.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x20000L) != 0)
+ if ((_bits & 0x40000L) != 0)
{
- _bits &= ~0x20000L;
+ _bits &= ~0x40000L;
_headers._Cookie = default(StringValues);
return true;
}
@@ -5529,9 +5605,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Expect.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100000L) != 0)
+ if ((_bits & 0x200000L) != 0)
{
- _bits &= ~0x100000L;
+ _bits &= ~0x200000L;
_headers._Expect = default(StringValues);
return true;
}
@@ -5539,9 +5615,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Origin.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100000000L) != 0)
+ if ((_bits & 0x200000000L) != 0)
{
- _bits &= ~0x100000000L;
+ _bits &= ~0x200000000L;
_headers._Origin = default(StringValues);
return true;
}
@@ -5549,9 +5625,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Pragma.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200000000L) != 0)
+ if ((_bits & 0x400000000L) != 0)
{
- _bits &= ~0x200000000L;
+ _bits &= ~0x400000000L;
_headers._Pragma = default(StringValues);
return true;
}
@@ -5573,9 +5649,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Scheme, key))
{
- if ((_bits & 0x80L) != 0)
+ if ((_bits & 0x100L) != 0)
{
- _bits &= ~0x80L;
+ _bits &= ~0x100L;
_headers._Scheme = default(StringValues);
return true;
}
@@ -5583,9 +5659,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Baggage, key))
{
- if ((_bits & 0x4000L) != 0)
+ if ((_bits & 0x8000L) != 0)
{
- _bits &= ~0x4000L;
+ _bits &= ~0x8000L;
_headers._Baggage = default(StringValues);
return true;
}
@@ -5593,9 +5669,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Referer, key))
{
- if ((_bits & 0x1000000000L) != 0)
+ if ((_bits & 0x2000000000L) != 0)
{
- _bits &= ~0x1000000000L;
+ _bits &= ~0x2000000000L;
_headers._Referer = default(StringValues);
return true;
}
@@ -5603,9 +5679,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Upgrade, key))
{
- if ((_bits & 0x80000000000L) != 0)
+ if ((_bits & 0x100000000000L) != 0)
{
- _bits &= ~0x80000000000L;
+ _bits &= ~0x100000000000L;
_headers._Upgrade = default(StringValues);
return true;
}
@@ -5613,9 +5689,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.Warning, key))
{
- if ((_bits & 0x400000000000L) != 0)
+ if ((_bits & 0x800000000000L) != 0)
{
- _bits &= ~0x400000000000L;
+ _bits &= ~0x800000000000L;
_headers._Warning = default(StringValues);
return true;
}
@@ -5634,9 +5710,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Scheme.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80L) != 0)
+ if ((_bits & 0x100L) != 0)
{
- _bits &= ~0x80L;
+ _bits &= ~0x100L;
_headers._Scheme = default(StringValues);
return true;
}
@@ -5644,9 +5720,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Baggage.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x4000L) != 0)
+ if ((_bits & 0x8000L) != 0)
{
- _bits &= ~0x4000L;
+ _bits &= ~0x8000L;
_headers._Baggage = default(StringValues);
return true;
}
@@ -5654,9 +5730,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Referer.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x1000000000L) != 0)
+ if ((_bits & 0x2000000000L) != 0)
{
- _bits &= ~0x1000000000L;
+ _bits &= ~0x2000000000L;
_headers._Referer = default(StringValues);
return true;
}
@@ -5664,9 +5740,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Upgrade.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80000000000L) != 0)
+ if ((_bits & 0x100000000000L) != 0)
{
- _bits &= ~0x80000000000L;
+ _bits &= ~0x100000000000L;
_headers._Upgrade = default(StringValues);
return true;
}
@@ -5674,9 +5750,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.Warning.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400000000000L) != 0)
+ if ((_bits & 0x800000000000L) != 0)
{
- _bits &= ~0x400000000000L;
+ _bits &= ~0x800000000000L;
_headers._Warning = default(StringValues);
return true;
}
@@ -5688,9 +5764,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.IfMatch, key))
{
- if ((_bits & 0x2000000L) != 0)
+ if ((_bits & 0x4000000L) != 0)
{
- _bits &= ~0x2000000L;
+ _bits &= ~0x4000000L;
_headers._IfMatch = default(StringValues);
return true;
}
@@ -5698,9 +5774,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.IfRange, key))
{
- if ((_bits & 0x10000000L) != 0)
+ if ((_bits & 0x20000000L) != 0)
{
- _bits &= ~0x10000000L;
+ _bits &= ~0x20000000L;
_headers._IfRange = default(StringValues);
return true;
}
@@ -5709,9 +5785,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.IfMatch.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x2000000L) != 0)
+ if ((_bits & 0x4000000L) != 0)
{
- _bits &= ~0x2000000L;
+ _bits &= ~0x4000000L;
_headers._IfMatch = default(StringValues);
return true;
}
@@ -5719,9 +5795,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.IfRange.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x10000000L) != 0)
+ if ((_bits & 0x20000000L) != 0)
{
- _bits &= ~0x10000000L;
+ _bits &= ~0x20000000L;
_headers._IfRange = default(StringValues);
return true;
}
@@ -5731,22 +5807,42 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
case 9:
{
+ if (ReferenceEquals(HeaderNames.Protocol, key))
+ {
+ if ((_bits & 0x80L) != 0)
+ {
+ _bits &= ~0x80L;
+ _headers._Protocol = default(StringValues);
+ return true;
+ }
+ return false;
+ }
if (ReferenceEquals(HeaderNames.Translate, key))
{
- if ((_bits & 0x40000000000L) != 0)
+ if ((_bits & 0x80000000000L) != 0)
{
- _bits &= ~0x40000000000L;
+ _bits &= ~0x80000000000L;
_headers._Translate = default(StringValues);
return true;
}
return false;
}
+ if (HeaderNames.Protocol.Equals(key, StringComparison.OrdinalIgnoreCase))
+ {
+ if ((_bits & 0x80L) != 0)
+ {
+ _bits &= ~0x80L;
+ _headers._Protocol = default(StringValues);
+ return true;
+ }
+ return false;
+ }
if (HeaderNames.Translate.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x40000000000L) != 0)
+ if ((_bits & 0x80000000000L) != 0)
{
- _bits &= ~0x40000000000L;
+ _bits &= ~0x80000000000L;
_headers._Translate = default(StringValues);
return true;
}
@@ -5788,9 +5884,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.KeepAlive, key))
{
- if ((_bits & 0x40000000L) != 0)
+ if ((_bits & 0x80000000L) != 0)
{
- _bits &= ~0x40000000L;
+ _bits &= ~0x80000000L;
_headers._KeepAlive = default(StringValues);
return true;
}
@@ -5798,9 +5894,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.RequestId, key))
{
- if ((_bits & 0x2000000000L) != 0)
+ if ((_bits & 0x4000000000L) != 0)
{
- _bits &= ~0x2000000000L;
+ _bits &= ~0x4000000000L;
_headers._RequestId = default(StringValues);
return true;
}
@@ -5808,9 +5904,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.TraceState, key))
{
- if ((_bits & 0x10000000000L) != 0)
+ if ((_bits & 0x20000000000L) != 0)
{
- _bits &= ~0x10000000000L;
+ _bits &= ~0x20000000000L;
_headers._TraceState = default(StringValues);
return true;
}
@@ -5849,9 +5945,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.KeepAlive.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x40000000L) != 0)
+ if ((_bits & 0x80000000L) != 0)
{
- _bits &= ~0x40000000L;
+ _bits &= ~0x80000000L;
_headers._KeepAlive = default(StringValues);
return true;
}
@@ -5859,9 +5955,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.RequestId.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x2000000000L) != 0)
+ if ((_bits & 0x4000000000L) != 0)
{
- _bits &= ~0x2000000000L;
+ _bits &= ~0x4000000000L;
_headers._RequestId = default(StringValues);
return true;
}
@@ -5869,9 +5965,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.TraceState.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x10000000000L) != 0)
+ if ((_bits & 0x20000000000L) != 0)
{
- _bits &= ~0x10000000000L;
+ _bits &= ~0x20000000000L;
_headers._TraceState = default(StringValues);
return true;
}
@@ -5883,9 +5979,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.TraceParent, key))
{
- if ((_bits & 0x8000000000L) != 0)
+ if ((_bits & 0x10000000000L) != 0)
{
- _bits &= ~0x8000000000L;
+ _bits &= ~0x10000000000L;
_headers._TraceParent = default(StringValues);
return true;
}
@@ -5894,9 +5990,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.TraceParent.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x8000000000L) != 0)
+ if ((_bits & 0x10000000000L) != 0)
{
- _bits &= ~0x8000000000L;
+ _bits &= ~0x10000000000L;
_headers._TraceParent = default(StringValues);
return true;
}
@@ -5908,9 +6004,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.ContentType, key))
{
- if ((_bits & 0x10000L) != 0)
+ if ((_bits & 0x20000L) != 0)
{
- _bits &= ~0x10000L;
+ _bits &= ~0x20000L;
_headers._ContentType = default(StringValues);
return true;
}
@@ -5918,9 +6014,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.GrpcTimeout, key))
{
- if ((_bits & 0x1000000L) != 0)
+ if ((_bits & 0x2000000L) != 0)
{
- _bits &= ~0x1000000L;
+ _bits &= ~0x2000000L;
_headers._GrpcTimeout = default(StringValues);
return true;
}
@@ -5928,9 +6024,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.MaxForwards, key))
{
- if ((_bits & 0x80000000L) != 0)
+ if ((_bits & 0x100000000L) != 0)
{
- _bits &= ~0x80000000L;
+ _bits &= ~0x100000000L;
_headers._MaxForwards = default(StringValues);
return true;
}
@@ -5939,9 +6035,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.ContentType.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x10000L) != 0)
+ if ((_bits & 0x20000L) != 0)
{
- _bits &= ~0x10000L;
+ _bits &= ~0x20000L;
_headers._ContentType = default(StringValues);
return true;
}
@@ -5949,9 +6045,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.GrpcTimeout.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x1000000L) != 0)
+ if ((_bits & 0x2000000L) != 0)
{
- _bits &= ~0x1000000L;
+ _bits &= ~0x2000000L;
_headers._GrpcTimeout = default(StringValues);
return true;
}
@@ -5959,9 +6055,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.MaxForwards.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x80000000L) != 0)
+ if ((_bits & 0x100000000L) != 0)
{
- _bits &= ~0x80000000L;
+ _bits &= ~0x100000000L;
_headers._MaxForwards = default(StringValues);
return true;
}
@@ -5973,9 +6069,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.Authorization, key))
{
- if ((_bits & 0x2000L) != 0)
+ if ((_bits & 0x4000L) != 0)
{
- _bits &= ~0x2000L;
+ _bits &= ~0x4000L;
_headers._Authorization = default(StringValues);
return true;
}
@@ -5983,9 +6079,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.CacheControl, key))
{
- if ((_bits & 0x8000L) != 0)
+ if ((_bits & 0x10000L) != 0)
{
- _bits &= ~0x8000L;
+ _bits &= ~0x10000L;
_headers._CacheControl = default(StringValues);
return true;
}
@@ -5993,9 +6089,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.GrpcEncoding, key))
{
- if ((_bits & 0x800000L) != 0)
+ if ((_bits & 0x1000000L) != 0)
{
- _bits &= ~0x800000L;
+ _bits &= ~0x1000000L;
_headers._GrpcEncoding = default(StringValues);
return true;
}
@@ -6003,9 +6099,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.IfNoneMatch, key))
{
- if ((_bits & 0x8000000L) != 0)
+ if ((_bits & 0x10000000L) != 0)
{
- _bits &= ~0x8000000L;
+ _bits &= ~0x10000000L;
_headers._IfNoneMatch = default(StringValues);
return true;
}
@@ -6014,9 +6110,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.Authorization.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x2000L) != 0)
+ if ((_bits & 0x4000L) != 0)
{
- _bits &= ~0x2000L;
+ _bits &= ~0x4000L;
_headers._Authorization = default(StringValues);
return true;
}
@@ -6024,9 +6120,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.CacheControl.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x8000L) != 0)
+ if ((_bits & 0x10000L) != 0)
{
- _bits &= ~0x8000L;
+ _bits &= ~0x10000L;
_headers._CacheControl = default(StringValues);
return true;
}
@@ -6034,9 +6130,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.GrpcEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x800000L) != 0)
+ if ((_bits & 0x1000000L) != 0)
{
- _bits &= ~0x800000L;
+ _bits &= ~0x1000000L;
_headers._GrpcEncoding = default(StringValues);
return true;
}
@@ -6044,9 +6140,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.IfNoneMatch.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x8000000L) != 0)
+ if ((_bits & 0x10000000L) != 0)
{
- _bits &= ~0x8000000L;
+ _bits &= ~0x10000000L;
_headers._IfNoneMatch = default(StringValues);
return true;
}
@@ -6058,9 +6154,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AcceptCharset, key))
{
- if ((_bits & 0x100L) != 0)
+ if ((_bits & 0x200L) != 0)
{
- _bits &= ~0x100L;
+ _bits &= ~0x200L;
_headers._AcceptCharset = default(StringValues);
return true;
}
@@ -6078,9 +6174,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AcceptCharset.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100L) != 0)
+ if ((_bits & 0x200L) != 0)
{
- _bits &= ~0x100L;
+ _bits &= ~0x200L;
_headers._AcceptCharset = default(StringValues);
return true;
}
@@ -6101,9 +6197,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AcceptEncoding, key))
{
- if ((_bits & 0x200L) != 0)
+ if ((_bits & 0x400L) != 0)
{
- _bits &= ~0x200L;
+ _bits &= ~0x400L;
_headers._AcceptEncoding = default(StringValues);
return true;
}
@@ -6111,9 +6207,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.AcceptLanguage, key))
{
- if ((_bits & 0x400L) != 0)
+ if ((_bits & 0x800L) != 0)
{
- _bits &= ~0x400L;
+ _bits &= ~0x800L;
_headers._AcceptLanguage = default(StringValues);
return true;
}
@@ -6122,9 +6218,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AcceptEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x200L) != 0)
+ if ((_bits & 0x400L) != 0)
{
- _bits &= ~0x200L;
+ _bits &= ~0x400L;
_headers._AcceptEncoding = default(StringValues);
return true;
}
@@ -6132,9 +6228,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.AcceptLanguage.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400L) != 0)
+ if ((_bits & 0x800L) != 0)
{
- _bits &= ~0x400L;
+ _bits &= ~0x800L;
_headers._AcceptLanguage = default(StringValues);
return true;
}
@@ -6146,9 +6242,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.IfModifiedSince, key))
{
- if ((_bits & 0x4000000L) != 0)
+ if ((_bits & 0x8000000L) != 0)
{
- _bits &= ~0x4000000L;
+ _bits &= ~0x8000000L;
_headers._IfModifiedSince = default(StringValues);
return true;
}
@@ -6156,9 +6252,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.TransferEncoding, key))
{
- if ((_bits & 0x20000000000L) != 0)
+ if ((_bits & 0x40000000000L) != 0)
{
- _bits &= ~0x20000000000L;
+ _bits &= ~0x40000000000L;
_headers._TransferEncoding = default(StringValues);
return true;
}
@@ -6167,9 +6263,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.IfModifiedSince.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x4000000L) != 0)
+ if ((_bits & 0x8000000L) != 0)
{
- _bits &= ~0x4000000L;
+ _bits &= ~0x8000000L;
_headers._IfModifiedSince = default(StringValues);
return true;
}
@@ -6177,9 +6273,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.TransferEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x20000000000L) != 0)
+ if ((_bits & 0x40000000000L) != 0)
{
- _bits &= ~0x20000000000L;
+ _bits &= ~0x40000000000L;
_headers._TransferEncoding = default(StringValues);
return true;
}
@@ -6191,9 +6287,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.CorrelationContext, key))
{
- if ((_bits & 0x40000L) != 0)
+ if ((_bits & 0x80000L) != 0)
{
- _bits &= ~0x40000L;
+ _bits &= ~0x80000L;
_headers._CorrelationContext = default(StringValues);
return true;
}
@@ -6201,9 +6297,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.IfUnmodifiedSince, key))
{
- if ((_bits & 0x20000000L) != 0)
+ if ((_bits & 0x40000000L) != 0)
{
- _bits &= ~0x20000000L;
+ _bits &= ~0x40000000L;
_headers._IfUnmodifiedSince = default(StringValues);
return true;
}
@@ -6211,9 +6307,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (ReferenceEquals(HeaderNames.ProxyAuthorization, key))
{
- if ((_bits & 0x400000000L) != 0)
+ if ((_bits & 0x800000000L) != 0)
{
- _bits &= ~0x400000000L;
+ _bits &= ~0x800000000L;
_headers._ProxyAuthorization = default(StringValues);
return true;
}
@@ -6222,9 +6318,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.CorrelationContext.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x40000L) != 0)
+ if ((_bits & 0x80000L) != 0)
{
- _bits &= ~0x40000L;
+ _bits &= ~0x80000L;
_headers._CorrelationContext = default(StringValues);
return true;
}
@@ -6232,9 +6328,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.IfUnmodifiedSince.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x20000000L) != 0)
+ if ((_bits & 0x40000000L) != 0)
{
- _bits &= ~0x20000000L;
+ _bits &= ~0x40000000L;
_headers._IfUnmodifiedSince = default(StringValues);
return true;
}
@@ -6242,9 +6338,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
if (HeaderNames.ProxyAuthorization.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400000000L) != 0)
+ if ((_bits & 0x800000000L) != 0)
{
- _bits &= ~0x400000000L;
+ _bits &= ~0x800000000L;
_headers._ProxyAuthorization = default(StringValues);
return true;
}
@@ -6256,9 +6352,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.GrpcAcceptEncoding, key))
{
- if ((_bits & 0x400000L) != 0)
+ if ((_bits & 0x800000L) != 0)
{
- _bits &= ~0x400000L;
+ _bits &= ~0x800000L;
_headers._GrpcAcceptEncoding = default(StringValues);
return true;
}
@@ -6267,9 +6363,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.GrpcAcceptEncoding.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x400000L) != 0)
+ if ((_bits & 0x800000L) != 0)
{
- _bits &= ~0x400000L;
+ _bits &= ~0x800000L;
_headers._GrpcAcceptEncoding = default(StringValues);
return true;
}
@@ -6281,9 +6377,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.UpgradeInsecureRequests, key))
{
- if ((_bits & 0x100000000000L) != 0)
+ if ((_bits & 0x200000000000L) != 0)
{
- _bits &= ~0x100000000000L;
+ _bits &= ~0x200000000000L;
_headers._UpgradeInsecureRequests = default(StringValues);
return true;
}
@@ -6292,9 +6388,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.UpgradeInsecureRequests.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x100000000000L) != 0)
+ if ((_bits & 0x200000000000L) != 0)
{
- _bits &= ~0x100000000000L;
+ _bits &= ~0x200000000000L;
_headers._UpgradeInsecureRequests = default(StringValues);
return true;
}
@@ -6306,9 +6402,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AccessControlRequestMethod, key))
{
- if ((_bits & 0x1000L) != 0)
+ if ((_bits & 0x2000L) != 0)
{
- _bits &= ~0x1000L;
+ _bits &= ~0x2000L;
_headers._AccessControlRequestMethod = default(StringValues);
return true;
}
@@ -6317,9 +6413,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AccessControlRequestMethod.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x1000L) != 0)
+ if ((_bits & 0x2000L) != 0)
{
- _bits &= ~0x1000L;
+ _bits &= ~0x2000L;
_headers._AccessControlRequestMethod = default(StringValues);
return true;
}
@@ -6331,9 +6427,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
if (ReferenceEquals(HeaderNames.AccessControlRequestHeaders, key))
{
- if ((_bits & 0x800L) != 0)
+ if ((_bits & 0x1000L) != 0)
{
- _bits &= ~0x800L;
+ _bits &= ~0x1000L;
_headers._AccessControlRequestHeaders = default(StringValues);
return true;
}
@@ -6342,9 +6438,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if (HeaderNames.AccessControlRequestHeaders.Equals(key, StringComparison.OrdinalIgnoreCase))
{
- if ((_bits & 0x800L) != 0)
+ if ((_bits & 0x1000L) != 0)
{
- _bits &= ~0x800L;
+ _bits &= ~0x1000L;
_headers._AccessControlRequestHeaders = default(StringValues);
return true;
}
@@ -6432,7 +6528,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x80L) != 0)
{
- _headers._Scheme = default;
+ _headers._Protocol = default;
if((tempBits & ~0x80L) == 0)
{
return;
@@ -6442,7 +6538,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x100L) != 0)
{
- _headers._AcceptCharset = default;
+ _headers._Scheme = default;
if((tempBits & ~0x100L) == 0)
{
return;
@@ -6452,7 +6548,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x200L) != 0)
{
- _headers._AcceptEncoding = default;
+ _headers._AcceptCharset = default;
if((tempBits & ~0x200L) == 0)
{
return;
@@ -6462,7 +6558,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x400L) != 0)
{
- _headers._AcceptLanguage = default;
+ _headers._AcceptEncoding = default;
if((tempBits & ~0x400L) == 0)
{
return;
@@ -6472,7 +6568,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x800L) != 0)
{
- _headers._AccessControlRequestHeaders = default;
+ _headers._AcceptLanguage = default;
if((tempBits & ~0x800L) == 0)
{
return;
@@ -6482,7 +6578,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x1000L) != 0)
{
- _headers._AccessControlRequestMethod = default;
+ _headers._AccessControlRequestHeaders = default;
if((tempBits & ~0x1000L) == 0)
{
return;
@@ -6492,7 +6588,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x2000L) != 0)
{
- _headers._Authorization = default;
+ _headers._AccessControlRequestMethod = default;
if((tempBits & ~0x2000L) == 0)
{
return;
@@ -6502,7 +6598,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x4000L) != 0)
{
- _headers._Baggage = default;
+ _headers._Authorization = default;
if((tempBits & ~0x4000L) == 0)
{
return;
@@ -6512,7 +6608,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x8000L) != 0)
{
- _headers._CacheControl = default;
+ _headers._Baggage = default;
if((tempBits & ~0x8000L) == 0)
{
return;
@@ -6522,7 +6618,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x10000L) != 0)
{
- _headers._ContentType = default;
+ _headers._CacheControl = default;
if((tempBits & ~0x10000L) == 0)
{
return;
@@ -6532,7 +6628,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x20000L) != 0)
{
- _headers._Cookie = default;
+ _headers._ContentType = default;
if((tempBits & ~0x20000L) == 0)
{
return;
@@ -6542,7 +6638,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x40000L) != 0)
{
- _headers._CorrelationContext = default;
+ _headers._Cookie = default;
if((tempBits & ~0x40000L) == 0)
{
return;
@@ -6552,7 +6648,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x80000L) != 0)
{
- _headers._Date = default;
+ _headers._CorrelationContext = default;
if((tempBits & ~0x80000L) == 0)
{
return;
@@ -6562,7 +6658,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x100000L) != 0)
{
- _headers._Expect = default;
+ _headers._Date = default;
if((tempBits & ~0x100000L) == 0)
{
return;
@@ -6572,7 +6668,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x200000L) != 0)
{
- _headers._From = default;
+ _headers._Expect = default;
if((tempBits & ~0x200000L) == 0)
{
return;
@@ -6582,7 +6678,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x400000L) != 0)
{
- _headers._GrpcAcceptEncoding = default;
+ _headers._From = default;
if((tempBits & ~0x400000L) == 0)
{
return;
@@ -6592,7 +6688,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x800000L) != 0)
{
- _headers._GrpcEncoding = default;
+ _headers._GrpcAcceptEncoding = default;
if((tempBits & ~0x800000L) == 0)
{
return;
@@ -6602,7 +6698,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x1000000L) != 0)
{
- _headers._GrpcTimeout = default;
+ _headers._GrpcEncoding = default;
if((tempBits & ~0x1000000L) == 0)
{
return;
@@ -6612,7 +6708,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x2000000L) != 0)
{
- _headers._IfMatch = default;
+ _headers._GrpcTimeout = default;
if((tempBits & ~0x2000000L) == 0)
{
return;
@@ -6622,7 +6718,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x4000000L) != 0)
{
- _headers._IfModifiedSince = default;
+ _headers._IfMatch = default;
if((tempBits & ~0x4000000L) == 0)
{
return;
@@ -6632,7 +6728,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x8000000L) != 0)
{
- _headers._IfNoneMatch = default;
+ _headers._IfModifiedSince = default;
if((tempBits & ~0x8000000L) == 0)
{
return;
@@ -6642,7 +6738,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x10000000L) != 0)
{
- _headers._IfRange = default;
+ _headers._IfNoneMatch = default;
if((tempBits & ~0x10000000L) == 0)
{
return;
@@ -6652,7 +6748,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x20000000L) != 0)
{
- _headers._IfUnmodifiedSince = default;
+ _headers._IfRange = default;
if((tempBits & ~0x20000000L) == 0)
{
return;
@@ -6662,7 +6758,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x40000000L) != 0)
{
- _headers._KeepAlive = default;
+ _headers._IfUnmodifiedSince = default;
if((tempBits & ~0x40000000L) == 0)
{
return;
@@ -6672,7 +6768,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x80000000L) != 0)
{
- _headers._MaxForwards = default;
+ _headers._KeepAlive = default;
if((tempBits & ~0x80000000L) == 0)
{
return;
@@ -6682,7 +6778,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x100000000L) != 0)
{
- _headers._Origin = default;
+ _headers._MaxForwards = default;
if((tempBits & ~0x100000000L) == 0)
{
return;
@@ -6692,7 +6788,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x200000000L) != 0)
{
- _headers._Pragma = default;
+ _headers._Origin = default;
if((tempBits & ~0x200000000L) == 0)
{
return;
@@ -6702,7 +6798,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x400000000L) != 0)
{
- _headers._ProxyAuthorization = default;
+ _headers._Pragma = default;
if((tempBits & ~0x400000000L) == 0)
{
return;
@@ -6712,7 +6808,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x800000000L) != 0)
{
- _headers._Range = default;
+ _headers._ProxyAuthorization = default;
if((tempBits & ~0x800000000L) == 0)
{
return;
@@ -6722,7 +6818,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x1000000000L) != 0)
{
- _headers._Referer = default;
+ _headers._Range = default;
if((tempBits & ~0x1000000000L) == 0)
{
return;
@@ -6732,7 +6828,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x2000000000L) != 0)
{
- _headers._RequestId = default;
+ _headers._Referer = default;
if((tempBits & ~0x2000000000L) == 0)
{
return;
@@ -6742,7 +6838,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x4000000000L) != 0)
{
- _headers._TE = default;
+ _headers._RequestId = default;
if((tempBits & ~0x4000000000L) == 0)
{
return;
@@ -6752,7 +6848,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x8000000000L) != 0)
{
- _headers._TraceParent = default;
+ _headers._TE = default;
if((tempBits & ~0x8000000000L) == 0)
{
return;
@@ -6762,7 +6858,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x10000000000L) != 0)
{
- _headers._TraceState = default;
+ _headers._TraceParent = default;
if((tempBits & ~0x10000000000L) == 0)
{
return;
@@ -6772,7 +6868,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x20000000000L) != 0)
{
- _headers._TransferEncoding = default;
+ _headers._TraceState = default;
if((tempBits & ~0x20000000000L) == 0)
{
return;
@@ -6782,7 +6878,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x40000000000L) != 0)
{
- _headers._Translate = default;
+ _headers._TransferEncoding = default;
if((tempBits & ~0x40000000000L) == 0)
{
return;
@@ -6792,7 +6888,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x80000000000L) != 0)
{
- _headers._Upgrade = default;
+ _headers._Translate = default;
if((tempBits & ~0x80000000000L) == 0)
{
return;
@@ -6802,7 +6898,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x100000000000L) != 0)
{
- _headers._UpgradeInsecureRequests = default;
+ _headers._Upgrade = default;
if((tempBits & ~0x100000000000L) == 0)
{
return;
@@ -6812,7 +6908,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x200000000000L) != 0)
{
- _headers._Via = default;
+ _headers._UpgradeInsecureRequests = default;
if((tempBits & ~0x200000000000L) == 0)
{
return;
@@ -6822,7 +6918,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
if ((tempBits & 0x400000000000L) != 0)
{
- _headers._Warning = default;
+ _headers._Via = default;
if((tempBits & ~0x400000000000L) == 0)
{
return;
@@ -6830,6 +6926,16 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
tempBits &= ~0x400000000000L;
}
+ if ((tempBits & 0x800000000000L) != 0)
+ {
+ _headers._Warning = default;
+ if((tempBits & ~0x800000000000L) == 0)
+ {
+ return;
+ }
+ tempBits &= ~0x800000000000L;
+ }
+
}
protected override bool CopyToFast(KeyValuePair[] array, int arrayIndex)
@@ -6908,7 +7014,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Scheme, _headers._Scheme);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Protocol, _headers._Protocol);
++arrayIndex;
}
if ((_bits & 0x100L) != 0)
@@ -6917,7 +7023,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.AcceptCharset, _headers._AcceptCharset);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Scheme, _headers._Scheme);
++arrayIndex;
}
if ((_bits & 0x200L) != 0)
@@ -6926,7 +7032,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.AcceptEncoding, _headers._AcceptEncoding);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.AcceptCharset, _headers._AcceptCharset);
++arrayIndex;
}
if ((_bits & 0x400L) != 0)
@@ -6935,7 +7041,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.AcceptLanguage, _headers._AcceptLanguage);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.AcceptEncoding, _headers._AcceptEncoding);
++arrayIndex;
}
if ((_bits & 0x800L) != 0)
@@ -6944,7 +7050,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.AccessControlRequestHeaders, _headers._AccessControlRequestHeaders);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.AcceptLanguage, _headers._AcceptLanguage);
++arrayIndex;
}
if ((_bits & 0x1000L) != 0)
@@ -6953,7 +7059,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.AccessControlRequestMethod, _headers._AccessControlRequestMethod);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.AccessControlRequestHeaders, _headers._AccessControlRequestHeaders);
++arrayIndex;
}
if ((_bits & 0x2000L) != 0)
@@ -6962,7 +7068,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Authorization, _headers._Authorization);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.AccessControlRequestMethod, _headers._AccessControlRequestMethod);
++arrayIndex;
}
if ((_bits & 0x4000L) != 0)
@@ -6971,7 +7077,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Baggage, _headers._Baggage);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Authorization, _headers._Authorization);
++arrayIndex;
}
if ((_bits & 0x8000L) != 0)
@@ -6980,7 +7086,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.CacheControl, _headers._CacheControl);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Baggage, _headers._Baggage);
++arrayIndex;
}
if ((_bits & 0x10000L) != 0)
@@ -6989,7 +7095,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.ContentType, _headers._ContentType);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.CacheControl, _headers._CacheControl);
++arrayIndex;
}
if ((_bits & 0x20000L) != 0)
@@ -6998,7 +7104,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Cookie, _headers._Cookie);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.ContentType, _headers._ContentType);
++arrayIndex;
}
if ((_bits & 0x40000L) != 0)
@@ -7007,7 +7113,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.CorrelationContext, _headers._CorrelationContext);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Cookie, _headers._Cookie);
++arrayIndex;
}
if ((_bits & 0x80000L) != 0)
@@ -7016,7 +7122,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Date, _headers._Date);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.CorrelationContext, _headers._CorrelationContext);
++arrayIndex;
}
if ((_bits & 0x100000L) != 0)
@@ -7025,7 +7131,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Expect, _headers._Expect);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Date, _headers._Date);
++arrayIndex;
}
if ((_bits & 0x200000L) != 0)
@@ -7034,7 +7140,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.From, _headers._From);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Expect, _headers._Expect);
++arrayIndex;
}
if ((_bits & 0x400000L) != 0)
@@ -7043,7 +7149,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.GrpcAcceptEncoding, _headers._GrpcAcceptEncoding);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.From, _headers._From);
++arrayIndex;
}
if ((_bits & 0x800000L) != 0)
@@ -7052,7 +7158,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.GrpcEncoding, _headers._GrpcEncoding);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.GrpcAcceptEncoding, _headers._GrpcAcceptEncoding);
++arrayIndex;
}
if ((_bits & 0x1000000L) != 0)
@@ -7061,7 +7167,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.GrpcTimeout, _headers._GrpcTimeout);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.GrpcEncoding, _headers._GrpcEncoding);
++arrayIndex;
}
if ((_bits & 0x2000000L) != 0)
@@ -7070,7 +7176,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.IfMatch, _headers._IfMatch);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.GrpcTimeout, _headers._GrpcTimeout);
++arrayIndex;
}
if ((_bits & 0x4000000L) != 0)
@@ -7079,7 +7185,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.IfModifiedSince, _headers._IfModifiedSince);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.IfMatch, _headers._IfMatch);
++arrayIndex;
}
if ((_bits & 0x8000000L) != 0)
@@ -7088,7 +7194,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.IfNoneMatch, _headers._IfNoneMatch);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.IfModifiedSince, _headers._IfModifiedSince);
++arrayIndex;
}
if ((_bits & 0x10000000L) != 0)
@@ -7097,7 +7203,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.IfRange, _headers._IfRange);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.IfNoneMatch, _headers._IfNoneMatch);
++arrayIndex;
}
if ((_bits & 0x20000000L) != 0)
@@ -7106,7 +7212,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.IfUnmodifiedSince, _headers._IfUnmodifiedSince);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.IfRange, _headers._IfRange);
++arrayIndex;
}
if ((_bits & 0x40000000L) != 0)
@@ -7115,7 +7221,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.KeepAlive, _headers._KeepAlive);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.IfUnmodifiedSince, _headers._IfUnmodifiedSince);
++arrayIndex;
}
if ((_bits & 0x80000000L) != 0)
@@ -7124,7 +7230,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.MaxForwards, _headers._MaxForwards);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.KeepAlive, _headers._KeepAlive);
++arrayIndex;
}
if ((_bits & 0x100000000L) != 0)
@@ -7133,7 +7239,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Origin, _headers._Origin);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.MaxForwards, _headers._MaxForwards);
++arrayIndex;
}
if ((_bits & 0x200000000L) != 0)
@@ -7142,7 +7248,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Pragma, _headers._Pragma);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Origin, _headers._Origin);
++arrayIndex;
}
if ((_bits & 0x400000000L) != 0)
@@ -7151,7 +7257,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.ProxyAuthorization, _headers._ProxyAuthorization);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Pragma, _headers._Pragma);
++arrayIndex;
}
if ((_bits & 0x800000000L) != 0)
@@ -7160,7 +7266,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Range, _headers._Range);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.ProxyAuthorization, _headers._ProxyAuthorization);
++arrayIndex;
}
if ((_bits & 0x1000000000L) != 0)
@@ -7169,7 +7275,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Referer, _headers._Referer);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Range, _headers._Range);
++arrayIndex;
}
if ((_bits & 0x2000000000L) != 0)
@@ -7178,7 +7284,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.RequestId, _headers._RequestId);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Referer, _headers._Referer);
++arrayIndex;
}
if ((_bits & 0x4000000000L) != 0)
@@ -7187,7 +7293,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.TE, _headers._TE);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.RequestId, _headers._RequestId);
++arrayIndex;
}
if ((_bits & 0x8000000000L) != 0)
@@ -7196,7 +7302,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.TraceParent, _headers._TraceParent);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.TE, _headers._TE);
++arrayIndex;
}
if ((_bits & 0x10000000000L) != 0)
@@ -7205,7 +7311,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.TraceState, _headers._TraceState);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.TraceParent, _headers._TraceParent);
++arrayIndex;
}
if ((_bits & 0x20000000000L) != 0)
@@ -7214,7 +7320,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.TransferEncoding, _headers._TransferEncoding);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.TraceState, _headers._TraceState);
++arrayIndex;
}
if ((_bits & 0x40000000000L) != 0)
@@ -7223,7 +7329,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Translate, _headers._Translate);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.TransferEncoding, _headers._TransferEncoding);
++arrayIndex;
}
if ((_bits & 0x80000000000L) != 0)
@@ -7232,7 +7338,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Upgrade, _headers._Upgrade);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Translate, _headers._Translate);
++arrayIndex;
}
if ((_bits & 0x100000000000L) != 0)
@@ -7241,7 +7347,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.UpgradeInsecureRequests, _headers._UpgradeInsecureRequests);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Upgrade, _headers._Upgrade);
++arrayIndex;
}
if ((_bits & 0x200000000000L) != 0)
@@ -7250,10 +7356,19 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
return false;
}
- array[arrayIndex] = new KeyValuePair(HeaderNames.Via, _headers._Via);
+ array[arrayIndex] = new KeyValuePair(HeaderNames.UpgradeInsecureRequests, _headers._UpgradeInsecureRequests);
++arrayIndex;
}
if ((_bits & 0x400000000000L) != 0)
+ {
+ if (arrayIndex == array.Length)
+ {
+ return false;
+ }
+ array[arrayIndex] = new KeyValuePair(HeaderNames.Via, _headers._Via);
+ ++arrayIndex;
+ }
+ if ((_bits & 0x800000000000L) != 0)
{
if (arrayIndex == array.Length)
{
@@ -7278,8 +7393,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
internal void ClearPseudoRequestHeaders()
{
- _pseudoBits = _bits & 240;
- _bits &= ~240;
+ _pseudoBits = _bits & 496;
+ _bits &= ~496;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -7326,7 +7441,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 2:
if (((ReadUnalignedLittleEndian_ushort(ref nameStart) & 0xdfdfu) == 0x4554u))
{
- flag = 0x4000000000L;
+ flag = 0x8000000000L;
values = ref _headers._TE;
nameStr = HeaderNames.TE;
}
@@ -7334,7 +7449,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 3:
if (((ReadUnalignedLittleEndian_ushort(ref nameStart) & 0xdfdfu) == 0x4956u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)2) & 0xdfu) == 0x41u))
{
- flag = 0x200000000000L;
+ flag = 0x400000000000L;
values = ref _headers._Via;
nameStr = HeaderNames.Via;
}
@@ -7349,13 +7464,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
else if ((firstTerm4 == 0x45544144u))
{
- flag = 0x80000L;
+ flag = 0x100000L;
values = ref _headers._Date;
nameStr = HeaderNames.Date;
}
else if ((firstTerm4 == 0x4d4f5246u))
{
- flag = 0x200000L;
+ flag = 0x400000L;
values = ref _headers._From;
nameStr = HeaderNames.From;
}
@@ -7369,7 +7484,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
else if (((ReadUnalignedLittleEndian_uint(ref nameStart) & 0xdfdfdfdfu) == 0x474e4152u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)4) & 0xdfu) == 0x45u))
{
- flag = 0x800000000L;
+ flag = 0x1000000000L;
values = ref _headers._Range;
nameStr = HeaderNames.Range;
}
@@ -7384,25 +7499,25 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
else if ((firstTerm6 == 0x4b4f4f43u) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ushort)))) & 0xdfdfu) == 0x4549u))
{
- flag = 0x20000L;
+ flag = 0x40000L;
values = ref _headers._Cookie;
nameStr = HeaderNames.Cookie;
}
else if ((firstTerm6 == 0x45505845u) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ushort)))) & 0xdfdfu) == 0x5443u))
{
- flag = 0x100000L;
+ flag = 0x200000L;
values = ref _headers._Expect;
nameStr = HeaderNames.Expect;
}
else if ((firstTerm6 == 0x4749524fu) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ushort)))) & 0xdfdfu) == 0x4e49u))
{
- flag = 0x100000000L;
+ flag = 0x200000000L;
values = ref _headers._Origin;
nameStr = HeaderNames.Origin;
}
else if ((firstTerm6 == 0x47415250u) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ushort)))) & 0xdfdfu) == 0x414du))
{
- flag = 0x200000000L;
+ flag = 0x400000000L;
values = ref _headers._Pragma;
nameStr = HeaderNames.Pragma;
}
@@ -7416,31 +7531,31 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
else if (((ReadUnalignedLittleEndian_uint(ref nameStart) & 0xdfdfdfffu) == 0x4843533au) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ushort)))) & 0xdfdfu) == 0x4d45u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)6) & 0xdfu) == 0x45u))
{
- flag = 0x80L;
+ flag = 0x100L;
values = ref _headers._Scheme;
nameStr = HeaderNames.Scheme;
}
else if (((ReadUnalignedLittleEndian_uint(ref nameStart) & 0xdfdfdfdfu) == 0x47474142u) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ushort)))) & 0xdfdfu) == 0x4741u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)6) & 0xdfu) == 0x45u))
{
- flag = 0x4000L;
+ flag = 0x8000L;
values = ref _headers._Baggage;
nameStr = HeaderNames.Baggage;
}
else if (((ReadUnalignedLittleEndian_uint(ref nameStart) & 0xdfdfdfdfu) == 0x45464552u) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ushort)))) & 0xdfdfu) == 0x4552u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)6) & 0xdfu) == 0x52u))
{
- flag = 0x1000000000L;
+ flag = 0x2000000000L;
values = ref _headers._Referer;
nameStr = HeaderNames.Referer;
}
else if (((ReadUnalignedLittleEndian_uint(ref nameStart) & 0xdfdfdfdfu) == 0x52475055u) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ushort)))) & 0xdfdfu) == 0x4441u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)6) & 0xdfu) == 0x45u))
{
- flag = 0x80000000000L;
+ flag = 0x100000000000L;
values = ref _headers._Upgrade;
nameStr = HeaderNames.Upgrade;
}
else if (((ReadUnalignedLittleEndian_uint(ref nameStart) & 0xdfdfdfdfu) == 0x4e524157u) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ushort)))) & 0xdfdfu) == 0x4e49u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)6) & 0xdfu) == 0x47u))
{
- flag = 0x400000000000L;
+ flag = 0x800000000000L;
values = ref _headers._Warning;
nameStr = HeaderNames.Warning;
}
@@ -7449,21 +7564,27 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
var firstTerm8 = (ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfffdfdfuL);
if ((firstTerm8 == 0x484354414d2d4649uL))
{
- flag = 0x2000000L;
+ flag = 0x4000000L;
values = ref _headers._IfMatch;
nameStr = HeaderNames.IfMatch;
}
else if ((firstTerm8 == 0x45474e41522d4649uL))
{
- flag = 0x10000000L;
+ flag = 0x20000000L;
values = ref _headers._IfRange;
nameStr = HeaderNames.IfRange;
}
break;
case 9:
- if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfdfdfdfuL) == 0x54414c534e415254uL) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)8) & 0xdfu) == 0x45u))
+ if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfdfdfffuL) == 0x4f434f544f52503auL) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)8) & 0xdfu) == 0x4cu))
{
- flag = 0x40000000000L;
+ flag = 0x80L;
+ values = ref _headers._Protocol;
+ nameStr = HeaderNames.Protocol;
+ }
+ else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfdfdfdfuL) == 0x54414c534e415254uL) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)8) & 0xdfu) == 0x45u))
+ {
+ flag = 0x80000000000L;
values = ref _headers._Translate;
nameStr = HeaderNames.Translate;
}
@@ -7489,19 +7610,19 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfffdfdfdfdfuL) == 0x494c412d5045454buL) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(4 * sizeof(ushort)))) & 0xdfdfu) == 0x4556u))
{
- flag = 0x40000000L;
+ flag = 0x80000000L;
values = ref _headers._KeepAlive;
nameStr = HeaderNames.KeepAlive;
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xffdfdfdfdfdfdfdfuL) == 0x2d54534555514552uL) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(4 * sizeof(ushort)))) & 0xdfdfu) == 0x4449u))
{
- flag = 0x2000000000L;
+ flag = 0x4000000000L;
values = ref _headers._RequestId;
nameStr = HeaderNames.RequestId;
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfdfdfdfuL) == 0x4154534543415254uL) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(4 * sizeof(ushort)))) & 0xdfdfu) == 0x4554u))
{
- flag = 0x10000000000L;
+ flag = 0x20000000000L;
values = ref _headers._TraceState;
nameStr = HeaderNames.TraceState;
}
@@ -7509,7 +7630,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 11:
if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfdfdfdfuL) == 0x5241504543415254uL) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(4 * sizeof(ushort)))) & 0xdfdfu) == 0x4e45u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)10) & 0xdfu) == 0x54u))
{
- flag = 0x8000000000L;
+ flag = 0x10000000000L;
values = ref _headers._TraceParent;
nameStr = HeaderNames.TraceParent;
}
@@ -7517,19 +7638,19 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 12:
if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xffdfdfdfdfdfdfdfuL) == 0x2d544e45544e4f43uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x45505954u))
{
- flag = 0x10000L;
+ flag = 0x20000L;
values = ref _headers._ContentType;
nameStr = HeaderNames.ContentType;
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfffdfdfdfdfuL) == 0x4d49542d43505247uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x54554f45u))
{
- flag = 0x1000000L;
+ flag = 0x2000000L;
values = ref _headers._GrpcTimeout;
nameStr = HeaderNames.GrpcTimeout;
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfffdfdfdfuL) == 0x57524f462d58414duL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x53445241u))
{
- flag = 0x80000000L;
+ flag = 0x100000000L;
values = ref _headers._MaxForwards;
nameStr = HeaderNames.MaxForwards;
}
@@ -7537,25 +7658,25 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 13:
if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfdfdfdfuL) == 0x5a49524f48545541uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x4f495441u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)12) & 0xdfu) == 0x4eu))
{
- flag = 0x2000L;
+ flag = 0x4000L;
values = ref _headers._Authorization;
nameStr = HeaderNames.Authorization;
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfffdfdfdfdfdfuL) == 0x4f432d4548434143uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x4f52544eu) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)12) & 0xdfu) == 0x4cu))
{
- flag = 0x8000L;
+ flag = 0x10000L;
values = ref _headers._CacheControl;
nameStr = HeaderNames.CacheControl;
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfffdfdfdfdfuL) == 0x434e452d43505247uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x4e49444fu) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)12) & 0xdfu) == 0x47u))
{
- flag = 0x800000L;
+ flag = 0x1000000L;
values = ref _headers._GrpcEncoding;
nameStr = HeaderNames.GrpcEncoding;
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xffdfdfdfdfffdfdfuL) == 0x2d454e4f4e2d4649uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x4354414du) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)12) & 0xdfu) == 0x48u))
{
- flag = 0x8000000L;
+ flag = 0x10000000L;
values = ref _headers._IfNoneMatch;
nameStr = HeaderNames.IfNoneMatch;
}
@@ -7563,7 +7684,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 14:
if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfffdfdfdfdfdfdfuL) == 0x432d545045434341uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x53524148u) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(6 * sizeof(ushort)))) & 0xdfdfu) == 0x5445u))
{
- flag = 0x100L;
+ flag = 0x200L;
values = ref _headers._AcceptCharset;
nameStr = HeaderNames.AcceptCharset;
}
@@ -7586,13 +7707,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
var firstTerm15 = (ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfffdfdfdfdfdfdfuL);
if ((firstTerm15 == 0x452d545045434341uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x444f434eu) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(6 * sizeof(ushort)))) & 0xdfdfu) == 0x4e49u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)14) & 0xdfu) == 0x47u))
{
- flag = 0x200L;
+ flag = 0x400L;
values = ref _headers._AcceptEncoding;
nameStr = HeaderNames.AcceptEncoding;
}
else if ((firstTerm15 == 0x4c2d545045434341uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x55474e41u) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(6 * sizeof(ushort)))) & 0xdfdfu) == 0x4741u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)14) & 0xdfu) == 0x45u))
{
- flag = 0x400L;
+ flag = 0x800L;
values = ref _headers._AcceptLanguage;
nameStr = HeaderNames.AcceptLanguage;
}
@@ -7600,13 +7721,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 17:
if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfffdfdfuL) == 0x4649444f4d2d4649uL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)sizeof(ulong))) & 0xdfdfdfdfffdfdfdfuL) == 0x434e49532d444549uL) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)16) & 0xdfu) == 0x45u))
{
- flag = 0x4000000L;
+ flag = 0x8000000L;
values = ref _headers._IfModifiedSince;
nameStr = HeaderNames.IfModifiedSince;
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfdfdfdfuL) == 0x524546534e415254uL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)sizeof(ulong))) & 0xdfdfdfdfdfdfdfffuL) == 0x4e49444f434e452duL) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)16) & 0xdfu) == 0x47u))
{
- flag = 0x20000000000L;
+ flag = 0x40000000000L;
values = ref _headers._TransferEncoding;
nameStr = HeaderNames.TransferEncoding;
}
@@ -7614,19 +7735,19 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 19:
if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfdfdfdfuL) == 0x54414c4552524f43uL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)sizeof(ulong))) & 0xdfdfdfdfffdfdfdfuL) == 0x544e4f432d4e4f49uL) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(8 * sizeof(ushort)))) & 0xdfdfu) == 0x5845u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)18) & 0xdfu) == 0x54u))
{
- flag = 0x40000L;
+ flag = 0x80000L;
values = ref _headers._CorrelationContext;
nameStr = HeaderNames.CorrelationContext;
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfdfdfffdfdfuL) == 0x444f4d4e552d4649uL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)sizeof(ulong))) & 0xdfdfffdfdfdfdfdfuL) == 0x49532d4445494649uL) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(8 * sizeof(ushort)))) & 0xdfdfu) == 0x434eu) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)18) & 0xdfu) == 0x45u))
{
- flag = 0x20000000L;
+ flag = 0x40000000L;
values = ref _headers._IfUnmodifiedSince;
nameStr = HeaderNames.IfUnmodifiedSince;
}
else if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfffdfdfdfdfdfuL) == 0x55412d59584f5250uL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)sizeof(ulong))) & 0xdfdfdfdfdfdfdfdfuL) == 0x54415a49524f4854uL) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(8 * sizeof(ushort)))) & 0xdfdfu) == 0x4f49u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)18) & 0xdfu) == 0x4eu))
{
- flag = 0x400000000L;
+ flag = 0x800000000L;
values = ref _headers._ProxyAuthorization;
nameStr = HeaderNames.ProxyAuthorization;
}
@@ -7634,7 +7755,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 20:
if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfdfdfffdfdfdfdfuL) == 0x4343412d43505247uL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)sizeof(ulong))) & 0xdfdfdfdfffdfdfdfuL) == 0x4f434e452d545045uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(4 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x474e4944u))
{
- flag = 0x400000L;
+ flag = 0x800000L;
values = ref _headers._GrpcAcceptEncoding;
nameStr = HeaderNames.GrpcAcceptEncoding;
}
@@ -7642,7 +7763,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 25:
if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xffdfdfdfdfdfdfdfuL) == 0x2d45444152475055uL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)sizeof(ulong))) & 0xdfdfdfdfdfdfdfdfuL) == 0x4552554345534e49uL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ulong)))) & 0xdfdfdfdfdfdfdfffuL) == 0x545345555145522duL) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)24) & 0xdfu) == 0x53u))
{
- flag = 0x100000000000L;
+ flag = 0x200000000000L;
values = ref _headers._UpgradeInsecureRequests;
nameStr = HeaderNames.UpgradeInsecureRequests;
}
@@ -7650,7 +7771,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 29:
if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfffdfdfdfdfdfdfuL) == 0x432d535345434341uL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)sizeof(ulong))) & 0xdfffdfdfdfdfdfdfuL) == 0x522d4c4f52544e4fuL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ulong)))) & 0xdfffdfdfdfdfdfdfuL) == 0x4d2d545345555145uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(6 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x4f485445u) && ((Unsafe.AddByteOffset(ref nameStart, (IntPtr)28) & 0xdfu) == 0x44u))
{
- flag = 0x1000L;
+ flag = 0x2000L;
values = ref _headers._AccessControlRequestMethod;
nameStr = HeaderNames.AccessControlRequestMethod;
}
@@ -7658,7 +7779,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 30:
if (((ReadUnalignedLittleEndian_ulong(ref nameStart) & 0xdfffdfdfdfdfdfdfuL) == 0x432d535345434341uL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)sizeof(ulong))) & 0xdfffdfdfdfdfdfdfuL) == 0x522d4c4f52544e4fuL) && ((ReadUnalignedLittleEndian_ulong(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(2 * sizeof(ulong)))) & 0xdfffdfdfdfdfdfdfuL) == 0x482d545345555145uL) && ((ReadUnalignedLittleEndian_uint(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(6 * sizeof(uint)))) & 0xdfdfdfdfu) == 0x45444145u) && ((ReadUnalignedLittleEndian_ushort(ref Unsafe.AddByteOffset(ref nameStart, (IntPtr)(14 * sizeof(ushort)))) & 0xdfdfu) == 0x5352u))
{
- flag = 0x800L;
+ flag = 0x1000L;
values = ref _headers._AccessControlRequestHeaders;
nameStr = HeaderNames.AccessControlRequestHeaders;
}
@@ -7743,22 +7864,22 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
break;
case 6:
case 7:
- flag = 0x80L;
+ flag = 0x100L;
values = ref _headers._Scheme;
nameStr = HeaderNames.Scheme;
break;
case 15:
- flag = 0x100L;
+ flag = 0x200L;
values = ref _headers._AcceptCharset;
nameStr = HeaderNames.AcceptCharset;
break;
case 16:
- flag = 0x200L;
+ flag = 0x400L;
values = ref _headers._AcceptEncoding;
nameStr = HeaderNames.AcceptEncoding;
break;
case 17:
- flag = 0x400L;
+ flag = 0x800L;
values = ref _headers._AcceptLanguage;
nameStr = HeaderNames.AcceptLanguage;
break;
@@ -7768,12 +7889,12 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
nameStr = HeaderNames.Accept;
break;
case 23:
- flag = 0x2000L;
+ flag = 0x4000L;
values = ref _headers._Authorization;
nameStr = HeaderNames.Authorization;
break;
case 24:
- flag = 0x8000L;
+ flag = 0x10000L;
values = ref _headers._CacheControl;
nameStr = HeaderNames.CacheControl;
break;
@@ -7790,27 +7911,27 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
return true;
case 31:
- flag = 0x10000L;
+ flag = 0x20000L;
values = ref _headers._ContentType;
nameStr = HeaderNames.ContentType;
break;
case 32:
- flag = 0x20000L;
+ flag = 0x40000L;
values = ref _headers._Cookie;
nameStr = HeaderNames.Cookie;
break;
case 33:
- flag = 0x80000L;
+ flag = 0x100000L;
values = ref _headers._Date;
nameStr = HeaderNames.Date;
break;
case 35:
- flag = 0x100000L;
+ flag = 0x200000L;
values = ref _headers._Expect;
nameStr = HeaderNames.Expect;
break;
case 37:
- flag = 0x200000L;
+ flag = 0x400000L;
values = ref _headers._From;
nameStr = HeaderNames.From;
break;
@@ -7820,52 +7941,52 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
nameStr = HeaderNames.Host;
break;
case 39:
- flag = 0x2000000L;
+ flag = 0x4000000L;
values = ref _headers._IfMatch;
nameStr = HeaderNames.IfMatch;
break;
case 40:
- flag = 0x4000000L;
+ flag = 0x8000000L;
values = ref _headers._IfModifiedSince;
nameStr = HeaderNames.IfModifiedSince;
break;
case 41:
- flag = 0x8000000L;
+ flag = 0x10000000L;
values = ref _headers._IfNoneMatch;
nameStr = HeaderNames.IfNoneMatch;
break;
case 42:
- flag = 0x10000000L;
+ flag = 0x20000000L;
values = ref _headers._IfRange;
nameStr = HeaderNames.IfRange;
break;
case 43:
- flag = 0x20000000L;
+ flag = 0x40000000L;
values = ref _headers._IfUnmodifiedSince;
nameStr = HeaderNames.IfUnmodifiedSince;
break;
case 47:
- flag = 0x80000000L;
+ flag = 0x100000000L;
values = ref _headers._MaxForwards;
nameStr = HeaderNames.MaxForwards;
break;
case 49:
- flag = 0x400000000L;
+ flag = 0x800000000L;
values = ref _headers._ProxyAuthorization;
nameStr = HeaderNames.ProxyAuthorization;
break;
case 50:
- flag = 0x800000000L;
+ flag = 0x1000000000L;
values = ref _headers._Range;
nameStr = HeaderNames.Range;
break;
case 51:
- flag = 0x1000000000L;
+ flag = 0x2000000000L;
values = ref _headers._Referer;
nameStr = HeaderNames.Referer;
break;
case 57:
- flag = 0x20000000000L;
+ flag = 0x40000000000L;
values = ref _headers._TransferEncoding;
nameStr = HeaderNames.TransferEncoding;
break;
@@ -7875,7 +7996,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
nameStr = HeaderNames.UserAgent;
break;
case 60:
- flag = 0x200000000000L;
+ flag = 0x400000000000L;
values = ref _headers._Via;
nameStr = HeaderNames.Via;
break;
@@ -7959,27 +8080,27 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
return true;
case 5:
- flag = 0x20000L;
+ flag = 0x40000L;
values = ref _headers._Cookie;
nameStr = HeaderNames.Cookie;
break;
case 6:
- flag = 0x80000L;
+ flag = 0x100000L;
values = ref _headers._Date;
nameStr = HeaderNames.Date;
break;
case 8:
- flag = 0x4000000L;
+ flag = 0x8000000L;
values = ref _headers._IfModifiedSince;
nameStr = HeaderNames.IfModifiedSince;
break;
case 9:
- flag = 0x8000000L;
+ flag = 0x10000000L;
values = ref _headers._IfNoneMatch;
nameStr = HeaderNames.IfNoneMatch;
break;
case 13:
- flag = 0x1000000000L;
+ flag = 0x2000000000L;
values = ref _headers._Referer;
nameStr = HeaderNames.Referer;
break;
@@ -7996,7 +8117,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
break;
case 22:
case 23:
- flag = 0x80L;
+ flag = 0x100L;
values = ref _headers._Scheme;
nameStr = HeaderNames.Scheme;
break;
@@ -8007,7 +8128,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
nameStr = HeaderNames.Accept;
break;
case 31:
- flag = 0x200L;
+ flag = 0x400L;
values = ref _headers._AcceptEncoding;
nameStr = HeaderNames.AcceptEncoding;
break;
@@ -8017,7 +8138,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 39:
case 40:
case 41:
- flag = 0x8000L;
+ flag = 0x10000L;
values = ref _headers._CacheControl;
nameStr = HeaderNames.CacheControl;
break;
@@ -8032,48 +8153,48 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
case 52:
case 53:
case 54:
- flag = 0x10000L;
+ flag = 0x20000L;
values = ref _headers._ContentType;
nameStr = HeaderNames.ContentType;
break;
case 55:
- flag = 0x800000000L;
+ flag = 0x1000000000L;
values = ref _headers._Range;
nameStr = HeaderNames.Range;
break;
case 72:
- flag = 0x400L;
+ flag = 0x800L;
values = ref _headers._AcceptLanguage;
nameStr = HeaderNames.AcceptLanguage;
break;
case 80:
- flag = 0x800L;
+ flag = 0x1000L;
values = ref _headers._AccessControlRequestHeaders;
nameStr = HeaderNames.AccessControlRequestHeaders;
break;
case 81:
case 82:
- flag = 0x1000L;
+ flag = 0x2000L;
values = ref _headers._AccessControlRequestMethod;
nameStr = HeaderNames.AccessControlRequestMethod;
break;
case 84:
- flag = 0x2000L;
+ flag = 0x4000L;
values = ref _headers._Authorization;
nameStr = HeaderNames.Authorization;
break;
case 89:
- flag = 0x10000000L;
+ flag = 0x20000000L;
values = ref _headers._IfRange;
nameStr = HeaderNames.IfRange;
break;
case 90:
- flag = 0x100000000L;
+ flag = 0x200000000L;
values = ref _headers._Origin;
nameStr = HeaderNames.Origin;
break;
case 94:
- flag = 0x100000000000L;
+ flag = 0x200000000000L;
values = ref _headers._UpgradeInsecureRequests;
nameStr = HeaderNames.UpgradeInsecureRequests;
break;
@@ -8138,6 +8259,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
public StringValues _Authority;
public StringValues _Method;
public StringValues _Path;
+ public StringValues _Protocol;
public StringValues _Scheme;
public StringValues _AcceptCharset;
public StringValues _AcceptEncoding;
@@ -8223,207 +8345,212 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
_current = new KeyValuePair(HeaderNames.Path, _collection._headers._Path);
_currentBits ^= 0x40L;
break;
- case 7: // Header: ":scheme"
+ case 7: // Header: ":protocol"
Debug.Assert((_currentBits & 0x80L) != 0);
- _current = new KeyValuePair(HeaderNames.Scheme, _collection._headers._Scheme);
+ _current = new KeyValuePair(HeaderNames.Protocol, _collection._headers._Protocol);
_currentBits ^= 0x80L;
break;
- case 8: // Header: "Accept-Charset"
+ case 8: // Header: ":scheme"
Debug.Assert((_currentBits & 0x100L) != 0);
- _current = new KeyValuePair(HeaderNames.AcceptCharset, _collection._headers._AcceptCharset);
+ _current = new KeyValuePair(HeaderNames.Scheme, _collection._headers._Scheme);
_currentBits ^= 0x100L;
break;
- case 9: // Header: "Accept-Encoding"
+ case 9: // Header: "Accept-Charset"
Debug.Assert((_currentBits & 0x200L) != 0);
- _current = new KeyValuePair(HeaderNames.AcceptEncoding, _collection._headers._AcceptEncoding);
+ _current = new KeyValuePair(HeaderNames.AcceptCharset, _collection._headers._AcceptCharset);
_currentBits ^= 0x200L;
break;
- case 10: // Header: "Accept-Language"
+ case 10: // Header: "Accept-Encoding"
Debug.Assert((_currentBits & 0x400L) != 0);
- _current = new KeyValuePair(HeaderNames.AcceptLanguage, _collection._headers._AcceptLanguage);
+ _current = new KeyValuePair(HeaderNames.AcceptEncoding, _collection._headers._AcceptEncoding);
_currentBits ^= 0x400L;
break;
- case 11: // Header: "Access-Control-Request-Headers"
+ case 11: // Header: "Accept-Language"
Debug.Assert((_currentBits & 0x800L) != 0);
- _current = new KeyValuePair(HeaderNames.AccessControlRequestHeaders, _collection._headers._AccessControlRequestHeaders);
+ _current = new KeyValuePair(HeaderNames.AcceptLanguage, _collection._headers._AcceptLanguage);
_currentBits ^= 0x800L;
break;
- case 12: // Header: "Access-Control-Request-Method"
+ case 12: // Header: "Access-Control-Request-Headers"
Debug.Assert((_currentBits & 0x1000L) != 0);
- _current = new KeyValuePair(HeaderNames.AccessControlRequestMethod, _collection._headers._AccessControlRequestMethod);
+ _current = new KeyValuePair(HeaderNames.AccessControlRequestHeaders, _collection._headers._AccessControlRequestHeaders);
_currentBits ^= 0x1000L;
break;
- case 13: // Header: "Authorization"
+ case 13: // Header: "Access-Control-Request-Method"
Debug.Assert((_currentBits & 0x2000L) != 0);
- _current = new KeyValuePair(HeaderNames.Authorization, _collection._headers._Authorization);
+ _current = new KeyValuePair(HeaderNames.AccessControlRequestMethod, _collection._headers._AccessControlRequestMethod);
_currentBits ^= 0x2000L;
break;
- case 14: // Header: "baggage"
+ case 14: // Header: "Authorization"
Debug.Assert((_currentBits & 0x4000L) != 0);
- _current = new KeyValuePair(HeaderNames.Baggage, _collection._headers._Baggage);
+ _current = new KeyValuePair(HeaderNames.Authorization, _collection._headers._Authorization);
_currentBits ^= 0x4000L;
break;
- case 15: // Header: "Cache-Control"
+ case 15: // Header: "baggage"
Debug.Assert((_currentBits & 0x8000L) != 0);
- _current = new KeyValuePair(HeaderNames.CacheControl, _collection._headers._CacheControl);
+ _current = new KeyValuePair(HeaderNames.Baggage, _collection._headers._Baggage);
_currentBits ^= 0x8000L;
break;
- case 16: // Header: "Content-Type"
+ case 16: // Header: "Cache-Control"
Debug.Assert((_currentBits & 0x10000L) != 0);
- _current = new KeyValuePair(HeaderNames.ContentType, _collection._headers._ContentType);
+ _current = new KeyValuePair(HeaderNames.CacheControl, _collection._headers._CacheControl);
_currentBits ^= 0x10000L;
break;
- case 17: // Header: "Cookie"
+ case 17: // Header: "Content-Type"
Debug.Assert((_currentBits & 0x20000L) != 0);
- _current = new KeyValuePair(HeaderNames.Cookie, _collection._headers._Cookie);
+ _current = new KeyValuePair(HeaderNames.ContentType, _collection._headers._ContentType);
_currentBits ^= 0x20000L;
break;
- case 18: // Header: "Correlation-Context"
+ case 18: // Header: "Cookie"
Debug.Assert((_currentBits & 0x40000L) != 0);
- _current = new KeyValuePair(HeaderNames.CorrelationContext, _collection._headers._CorrelationContext);
+ _current = new KeyValuePair(HeaderNames.Cookie, _collection._headers._Cookie);
_currentBits ^= 0x40000L;
break;
- case 19: // Header: "Date"
+ case 19: // Header: "Correlation-Context"
Debug.Assert((_currentBits & 0x80000L) != 0);
- _current = new KeyValuePair(HeaderNames.Date, _collection._headers._Date);
+ _current = new KeyValuePair(HeaderNames.CorrelationContext, _collection._headers._CorrelationContext);
_currentBits ^= 0x80000L;
break;
- case 20: // Header: "Expect"
+ case 20: // Header: "Date"
Debug.Assert((_currentBits & 0x100000L) != 0);
- _current = new KeyValuePair(HeaderNames.Expect, _collection._headers._Expect);
+ _current = new KeyValuePair(HeaderNames.Date, _collection._headers._Date);
_currentBits ^= 0x100000L;
break;
- case 21: // Header: "From"
+ case 21: // Header: "Expect"
Debug.Assert((_currentBits & 0x200000L) != 0);
- _current = new KeyValuePair(HeaderNames.From, _collection._headers._From);
+ _current = new KeyValuePair(HeaderNames.Expect, _collection._headers._Expect);
_currentBits ^= 0x200000L;
break;
- case 22: // Header: "Grpc-Accept-Encoding"
+ case 22: // Header: "From"
Debug.Assert((_currentBits & 0x400000L) != 0);
- _current = new KeyValuePair(HeaderNames.GrpcAcceptEncoding, _collection._headers._GrpcAcceptEncoding);
+ _current = new KeyValuePair(HeaderNames.From, _collection._headers._From);
_currentBits ^= 0x400000L;
break;
- case 23: // Header: "Grpc-Encoding"
+ case 23: // Header: "Grpc-Accept-Encoding"
Debug.Assert((_currentBits & 0x800000L) != 0);
- _current = new KeyValuePair(HeaderNames.GrpcEncoding, _collection._headers._GrpcEncoding);
+ _current = new KeyValuePair(HeaderNames.GrpcAcceptEncoding, _collection._headers._GrpcAcceptEncoding);
_currentBits ^= 0x800000L;
break;
- case 24: // Header: "Grpc-Timeout"
+ case 24: // Header: "Grpc-Encoding"
Debug.Assert((_currentBits & 0x1000000L) != 0);
- _current = new KeyValuePair(HeaderNames.GrpcTimeout, _collection._headers._GrpcTimeout);
+ _current = new KeyValuePair(HeaderNames.GrpcEncoding, _collection._headers._GrpcEncoding);
_currentBits ^= 0x1000000L;
break;
- case 25: // Header: "If-Match"
+ case 25: // Header: "Grpc-Timeout"
Debug.Assert((_currentBits & 0x2000000L) != 0);
- _current = new KeyValuePair(HeaderNames.IfMatch, _collection._headers._IfMatch);
+ _current = new KeyValuePair(HeaderNames.GrpcTimeout, _collection._headers._GrpcTimeout);
_currentBits ^= 0x2000000L;
break;
- case 26: // Header: "If-Modified-Since"
+ case 26: // Header: "If-Match"
Debug.Assert((_currentBits & 0x4000000L) != 0);
- _current = new KeyValuePair(HeaderNames.IfModifiedSince, _collection._headers._IfModifiedSince);
+ _current = new KeyValuePair(HeaderNames.IfMatch, _collection._headers._IfMatch);
_currentBits ^= 0x4000000L;
break;
- case 27: // Header: "If-None-Match"
+ case 27: // Header: "If-Modified-Since"
Debug.Assert((_currentBits & 0x8000000L) != 0);
- _current = new KeyValuePair(HeaderNames.IfNoneMatch, _collection._headers._IfNoneMatch);
+ _current = new KeyValuePair(HeaderNames.IfModifiedSince, _collection._headers._IfModifiedSince);
_currentBits ^= 0x8000000L;
break;
- case 28: // Header: "If-Range"
+ case 28: // Header: "If-None-Match"
Debug.Assert((_currentBits & 0x10000000L) != 0);
- _current = new KeyValuePair(HeaderNames.IfRange, _collection._headers._IfRange);
+ _current = new KeyValuePair(HeaderNames.IfNoneMatch, _collection._headers._IfNoneMatch);
_currentBits ^= 0x10000000L;
break;
- case 29: // Header: "If-Unmodified-Since"
+ case 29: // Header: "If-Range"
Debug.Assert((_currentBits & 0x20000000L) != 0);
- _current = new KeyValuePair(HeaderNames.IfUnmodifiedSince, _collection._headers._IfUnmodifiedSince);
+ _current = new KeyValuePair(HeaderNames.IfRange, _collection._headers._IfRange);
_currentBits ^= 0x20000000L;
break;
- case 30: // Header: "Keep-Alive"
+ case 30: // Header: "If-Unmodified-Since"
Debug.Assert((_currentBits & 0x40000000L) != 0);
- _current = new KeyValuePair(HeaderNames.KeepAlive, _collection._headers._KeepAlive);
+ _current = new KeyValuePair(HeaderNames.IfUnmodifiedSince, _collection._headers._IfUnmodifiedSince);
_currentBits ^= 0x40000000L;
break;
- case 31: // Header: "Max-Forwards"
+ case 31: // Header: "Keep-Alive"
Debug.Assert((_currentBits & 0x80000000L) != 0);
- _current = new KeyValuePair(HeaderNames.MaxForwards, _collection._headers._MaxForwards);
+ _current = new KeyValuePair(HeaderNames.KeepAlive, _collection._headers._KeepAlive);
_currentBits ^= 0x80000000L;
break;
- case 32: // Header: "Origin"
+ case 32: // Header: "Max-Forwards"
Debug.Assert((_currentBits & 0x100000000L) != 0);
- _current = new KeyValuePair(HeaderNames.Origin, _collection._headers._Origin);
+ _current = new KeyValuePair(HeaderNames.MaxForwards, _collection._headers._MaxForwards);
_currentBits ^= 0x100000000L;
break;
- case 33: // Header: "Pragma"
+ case 33: // Header: "Origin"
Debug.Assert((_currentBits & 0x200000000L) != 0);
- _current = new KeyValuePair(HeaderNames.Pragma, _collection._headers._Pragma);
+ _current = new KeyValuePair(HeaderNames.Origin, _collection._headers._Origin);
_currentBits ^= 0x200000000L;
break;
- case 34: // Header: "Proxy-Authorization"
+ case 34: // Header: "Pragma"
Debug.Assert((_currentBits & 0x400000000L) != 0);
- _current = new KeyValuePair(HeaderNames.ProxyAuthorization, _collection._headers._ProxyAuthorization);
+ _current = new KeyValuePair(HeaderNames.Pragma, _collection._headers._Pragma);
_currentBits ^= 0x400000000L;
break;
- case 35: // Header: "Range"
+ case 35: // Header: "Proxy-Authorization"
Debug.Assert((_currentBits & 0x800000000L) != 0);
- _current = new KeyValuePair(HeaderNames.Range, _collection._headers._Range);
+ _current = new KeyValuePair(HeaderNames.ProxyAuthorization, _collection._headers._ProxyAuthorization);
_currentBits ^= 0x800000000L;
break;
- case 36: // Header: "Referer"
+ case 36: // Header: "Range"
Debug.Assert((_currentBits & 0x1000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.Referer, _collection._headers._Referer);
+ _current = new KeyValuePair(HeaderNames.Range, _collection._headers._Range);
_currentBits ^= 0x1000000000L;
break;
- case 37: // Header: "Request-Id"
+ case 37: // Header: "Referer"
Debug.Assert((_currentBits & 0x2000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.RequestId, _collection._headers._RequestId);
+ _current = new KeyValuePair(HeaderNames.Referer, _collection._headers._Referer);
_currentBits ^= 0x2000000000L;
break;
- case 38: // Header: "TE"
+ case 38: // Header: "Request-Id"
Debug.Assert((_currentBits & 0x4000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.TE, _collection._headers._TE);
+ _current = new KeyValuePair(HeaderNames.RequestId, _collection._headers._RequestId);
_currentBits ^= 0x4000000000L;
break;
- case 39: // Header: "traceparent"
+ case 39: // Header: "TE"
Debug.Assert((_currentBits & 0x8000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.TraceParent, _collection._headers._TraceParent);
+ _current = new KeyValuePair(HeaderNames.TE, _collection._headers._TE);
_currentBits ^= 0x8000000000L;
break;
- case 40: // Header: "tracestate"
+ case 40: // Header: "traceparent"
Debug.Assert((_currentBits & 0x10000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.TraceState, _collection._headers._TraceState);
+ _current = new KeyValuePair(HeaderNames.TraceParent, _collection._headers._TraceParent);
_currentBits ^= 0x10000000000L;
break;
- case 41: // Header: "Transfer-Encoding"
+ case 41: // Header: "tracestate"
Debug.Assert((_currentBits & 0x20000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.TransferEncoding, _collection._headers._TransferEncoding);
+ _current = new KeyValuePair(HeaderNames.TraceState, _collection._headers._TraceState);
_currentBits ^= 0x20000000000L;
break;
- case 42: // Header: "Translate"
+ case 42: // Header: "Transfer-Encoding"
Debug.Assert((_currentBits & 0x40000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.Translate, _collection._headers._Translate);
+ _current = new KeyValuePair(HeaderNames.TransferEncoding, _collection._headers._TransferEncoding);
_currentBits ^= 0x40000000000L;
break;
- case 43: // Header: "Upgrade"
+ case 43: // Header: "Translate"
Debug.Assert((_currentBits & 0x80000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.Upgrade, _collection._headers._Upgrade);
+ _current = new KeyValuePair(HeaderNames.Translate, _collection._headers._Translate);
_currentBits ^= 0x80000000000L;
break;
- case 44: // Header: "Upgrade-Insecure-Requests"
+ case 44: // Header: "Upgrade"
Debug.Assert((_currentBits & 0x100000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.UpgradeInsecureRequests, _collection._headers._UpgradeInsecureRequests);
+ _current = new KeyValuePair(HeaderNames.Upgrade, _collection._headers._Upgrade);
_currentBits ^= 0x100000000000L;
break;
- case 45: // Header: "Via"
+ case 45: // Header: "Upgrade-Insecure-Requests"
Debug.Assert((_currentBits & 0x200000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.Via, _collection._headers._Via);
+ _current = new KeyValuePair(HeaderNames.UpgradeInsecureRequests, _collection._headers._UpgradeInsecureRequests);
_currentBits ^= 0x200000000000L;
break;
- case 46: // Header: "Warning"
+ case 46: // Header: "Via"
Debug.Assert((_currentBits & 0x400000000000L) != 0);
- _current = new KeyValuePair(HeaderNames.Warning, _collection._headers._Warning);
+ _current = new KeyValuePair(HeaderNames.Via, _collection._headers._Via);
_currentBits ^= 0x400000000000L;
break;
- case 47: // Header: "Content-Length"
+ case 47: // Header: "Warning"
+ Debug.Assert((_currentBits & 0x800000000000L) != 0);
+ _current = new KeyValuePair(HeaderNames.Warning, _collection._headers._Warning);
+ _currentBits ^= 0x800000000000L;
+ break;
+ case 48: // Header: "Content-Length"
Debug.Assert(_currentBits == 0);
_current = new KeyValuePair(HeaderNames.ContentLength, HeaderUtilities.FormatNonNegativeInt64(_collection._contentLength.GetValueOrDefault()));
_next = -1;
@@ -8445,7 +8572,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
}
else
{
- _next = _collection._contentLength.HasValue ? 47 : -1;
+ _next = _collection._contentLength.HasValue ? 48 : -1;
return true;
}
}
diff --git a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Connection.cs b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Connection.cs
index 13122abe2d4..8303447f011 100644
--- a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Connection.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Connection.cs
@@ -56,6 +56,10 @@ internal sealed class Http3Connection : IHttp3StreamLifetimeHandler, IRequestPro
_serverSettings.HeaderTableSize = (uint)httpLimits.Http3.HeaderTableSize;
_serverSettings.MaxRequestHeaderFieldSectionSize = (uint)httpLimits.MaxRequestHeadersTotalSize;
+ _serverSettings.EnableWebTransport = Convert.ToUInt32(context.ServiceContext.ServerOptions.EnableWebTransportAndH3Datagrams);
+ // technically these are 2 different settings so they should have separate values but the Chromium implementation requires
+ // them to both be 1 to useWebTransport.
+ _serverSettings.H3Datagram = Convert.ToUInt32(context.ServiceContext.ServerOptions.EnableWebTransportAndH3Datagrams);
}
private void UpdateHighestOpenedRequestStreamId(long streamId)
@@ -656,6 +660,12 @@ internal sealed class Http3Connection : IHttp3StreamLifetimeHandler, IRequestPro
break;
case Http3SettingType.QPackBlockedStreams:
break;
+ case Http3SettingType.EnableWebTransport:
+ _clientSettings.EnableWebTransport = (uint)value;
+ break;
+ case Http3SettingType.H3Datagram:
+ _clientSettings.H3Datagram = (uint)value;
+ break;
default:
throw new InvalidOperationException("Unexpected setting: " + type);
}
diff --git a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3ControlStream.cs b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3ControlStream.cs
index e709d5486db..e9115e5282a 100644
--- a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3ControlStream.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3ControlStream.cs
@@ -331,6 +331,8 @@ internal abstract class Http3ControlStream : IHttp3Stream, IThreadPoolWorkItem
case (long)Http3SettingType.QPackMaxTableCapacity:
case (long)Http3SettingType.MaxFieldSectionSize:
case (long)Http3SettingType.QPackBlockedStreams:
+ case (long)Http3SettingType.EnableWebTransport:
+ case (long)Http3SettingType.H3Datagram:
_context.StreamLifetimeHandler.OnInboundControlStreamSetting((Http3SettingType)id, value);
break;
default:
diff --git a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3PeerSettings.cs b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3PeerSettings.cs
index 177ec30216b..144e9dc1deb 100644
--- a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3PeerSettings.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3PeerSettings.cs
@@ -8,9 +8,13 @@ internal sealed class Http3PeerSettings
// Note these are protocol defaults, not Kestrel defaults.
public const uint DefaultHeaderTableSize = 0;
public const uint DefaultMaxRequestHeaderFieldSize = uint.MaxValue;
+ public const uint DefaultEnableWebTransport = 0;
+ public const uint DefaultH3Datagram = 0;
public uint HeaderTableSize { get; internal set; } = DefaultHeaderTableSize;
public uint MaxRequestHeaderFieldSectionSize { get; internal set; } = DefaultMaxRequestHeaderFieldSize;
+ public uint EnableWebTransport { get; internal set; } = DefaultEnableWebTransport;
+ public uint H3Datagram { get; internal set; } = DefaultH3Datagram;
// Gets the settings that are different from the protocol defaults (as opposed to the server defaults).
internal List GetNonProtocolDefaults()
@@ -29,6 +33,16 @@ internal sealed class Http3PeerSettings
list.Add(new Http3PeerSetting(Http3SettingType.MaxFieldSectionSize, MaxRequestHeaderFieldSectionSize));
}
+ if (EnableWebTransport != DefaultEnableWebTransport)
+ {
+ list.Add(new Http3PeerSetting(Http3SettingType.EnableWebTransport, EnableWebTransport));
+ }
+
+ if (H3Datagram != DefaultH3Datagram)
+ {
+ list.Add(new Http3PeerSetting(Http3SettingType.H3Datagram, H3Datagram));
+ }
+
return list;
}
}
diff --git a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3SettingType.cs b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3SettingType.cs
index 2d12fd96ebe..4e79e025bd0 100644
--- a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3SettingType.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3SettingType.cs
@@ -13,5 +13,18 @@ internal enum Http3SettingType : long
///
MaxFieldSectionSize = 0x6,
// https://quicwg.org/base-drafts/draft-ietf-quic-qpack.html#section-5
- QPackBlockedStreams = 0x7
+ QPackBlockedStreams = 0x7,
+
+ ///
+ /// SETTINGS_ENABLE_WEBTRANSPORT, default is 0 (off)
+ /// https://www.ietf.org/archive/id/draft-ietf-webtrans-http3-01.html#name-http-3-settings-parameter-r
+ ///
+ EnableWebTransport = 0x2b603742,
+
+ ///
+ /// H3_DATAGRAM, default is 0 (off)
+ /// indicates that the server suppprts sending individual datagrams over Http/3
+ /// rather than just streams.
+ ///
+ H3Datagram = 0xffd277
}
diff --git a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Stream.cs b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Stream.cs
index 503e4120b08..fd264c564a9 100644
--- a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Stream.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Stream.cs
@@ -29,6 +29,7 @@ internal abstract partial class Http3Stream : HttpProtocol, IHttp3Stream, IHttpS
private static ReadOnlySpan AuthorityBytes => ":authority"u8;
private static ReadOnlySpan MethodBytes => ":method"u8;
private static ReadOnlySpan PathBytes => ":path"u8;
+ private static ReadOnlySpan ProtocolBytes => ":protocol"u8;
private static ReadOnlySpan SchemeBytes => ":scheme"u8;
private static ReadOnlySpan StatusBytes => ":status"u8;
private static ReadOnlySpan ConnectionBytes => "connection"u8;
@@ -507,6 +508,10 @@ internal abstract partial class Http3Stream : HttpProtocol, IHttp3Stream, IHttpS
{
return PseudoHeaderFields.Authority;
}
+ else if (name.SequenceEqual(ProtocolBytes))
+ {
+ return PseudoHeaderFields.Protocol;
+ }
else
{
return PseudoHeaderFields.Unknown;
@@ -821,7 +826,25 @@ internal abstract partial class Http3Stream : HttpProtocol, IHttp3Stream, IHttpS
await OnEndStreamReceived();
}
- if (!_isMethodConnect && (_parsedPseudoHeaderFields & _mandatoryRequestPseudoHeaderFields) != _mandatoryRequestPseudoHeaderFields)
+ // https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-http3/#section-3.3
+ if (_context.ServiceContext.ServerOptions.EnableWebTransportAndH3Datagrams && HttpRequestHeaders.HeaderProtocol.Count > 0)
+ {
+ if (!_isMethodConnect)
+ {
+ throw new Http3StreamErrorException(CoreStrings.Http3MethodMustBeConnectWhenUsingProtocolPseudoHeader, Http3ErrorCode.ProtocolError);
+ }
+
+ if (!_parsedPseudoHeaderFields.HasFlag(PseudoHeaderFields.Authority) || !_parsedPseudoHeaderFields.HasFlag(PseudoHeaderFields.Path))
+ {
+ throw new Http3StreamErrorException(CoreStrings.Http3MissingAuthorityOrPathPseudoHeaders, Http3ErrorCode.ProtocolError);
+ }
+
+ if (_context.ClientPeerSettings.H3Datagram != _context.ServerPeerSettings.H3Datagram)
+ {
+ throw new Http3StreamErrorException(CoreStrings.FormatHttp3DatagramStatusMismatch(_context.ClientPeerSettings.H3Datagram == 1, _context.ServerPeerSettings.H3Datagram == 1), Http3ErrorCode.SettingsError);
+ }
+ }
+ else if (!_isMethodConnect && (_parsedPseudoHeaderFields & _mandatoryRequestPseudoHeaderFields) != _mandatoryRequestPseudoHeaderFields)
{
// All HTTP/3 requests MUST include exactly one valid value for the :method, :scheme, and :path pseudo-header
// fields, unless it is a CONNECT request. An HTTP request that omits mandatory pseudo-header
@@ -928,8 +951,8 @@ internal abstract partial class Http3Stream : HttpProtocol, IHttp3Stream, IHttpS
return false;
}
- // CONNECT - :scheme and :path must be excluded
- if (Method == Http.HttpMethod.Connect)
+ // CONNECT - :scheme and :path must be excluded=
+ if (Method == Http.HttpMethod.Connect && HttpRequestHeaders.HeaderProtocol.Count == 0)
{
if (!string.IsNullOrEmpty(RequestHeaders[HeaderNames.Scheme]) || !string.IsNullOrEmpty(RequestHeaders[HeaderNames.Path]))
{
@@ -1157,6 +1180,7 @@ internal abstract partial class Http3Stream : HttpProtocol, IHttp3Stream, IHttpS
Path = 0x4,
Scheme = 0x8,
Status = 0x10,
+ Protocol = 0x20,
Unknown = 0x40000000
}
diff --git a/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs b/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs
index ec009ae0dfe..4575b3e77c2 100644
--- a/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs
+++ b/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs
@@ -157,6 +157,24 @@ public class KestrelServerOptions
///
internal bool IsDevCertLoaded { get; set; }
+ ///
+ /// Internal AppContext switch to toggle the WebTransport and HTTP/3 datagrams experiemental features.
+ ///
+ private bool? _enableWebTransportAndH3Datagrams;
+ internal bool EnableWebTransportAndH3Datagrams
+ {
+ get
+ {
+ if (!_enableWebTransportAndH3Datagrams.HasValue)
+ {
+ _enableWebTransportAndH3Datagrams = AppContext.TryGetSwitch("Microsoft.AspNetCore.Server.Kestrel.Experimental.WebTransportAndH3Datagrams", out var enabled) && enabled;
+ }
+
+ return _enableWebTransportAndH3Datagrams.Value;
+ }
+ set => _enableWebTransportAndH3Datagrams = value;
+ }
+
///
/// Specifies a configuration Action to run for each newly created endpoint. Calling this again will replace
/// the prior action.
diff --git a/src/Servers/Kestrel/samples/Http3SampleApp/Http3SampleApp.csproj b/src/Servers/Kestrel/samples/Http3SampleApp/Http3SampleApp.csproj
index c56f7fb3916..e65103ddb5a 100644
--- a/src/Servers/Kestrel/samples/Http3SampleApp/Http3SampleApp.csproj
+++ b/src/Servers/Kestrel/samples/Http3SampleApp/Http3SampleApp.csproj
@@ -16,4 +16,9 @@
+
+
+
+
+
diff --git a/src/Servers/Kestrel/samples/Http3SampleApp/Program.cs b/src/Servers/Kestrel/samples/Http3SampleApp/Program.cs
index 22a9d279119..c65b05bec00 100644
--- a/src/Servers/Kestrel/samples/Http3SampleApp/Program.cs
+++ b/src/Servers/Kestrel/samples/Http3SampleApp/Program.cs
@@ -1,7 +1,9 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.Net;
using System.Net.Security;
+using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using Microsoft.AspNetCore.Connections;
using Microsoft.AspNetCore.Internal;
@@ -22,25 +24,18 @@ public class Program
})
.ConfigureWebHost(webHost =>
{
+ var cert = CertificateLoader.LoadFromStoreCert("localhost", StoreName.My.ToString(), StoreLocation.CurrentUser, false);
+
webHost.UseKestrel()
.ConfigureKestrel((context, options) =>
{
- var cert = CertificateLoader.LoadFromStoreCert("localhost", StoreName.My.ToString(), StoreLocation.CurrentUser, false);
-
- options.ConfigureHttpsDefaults(httpsOptions =>
- {
- httpsOptions.ServerCertificate = cert;
- // httpsOptions.ClientCertificateMode = ClientCertificateMode.AllowCertificate;
- // httpsOptions.AllowAnyClientCertificate();
- });
-
options.ListenAnyIP(5000, listenOptions =>
{
listenOptions.UseConnectionLogging();
listenOptions.Protocols = HttpProtocols.Http1AndHttp2;
});
- options.ListenAnyIP(5001, listenOptions =>
+ options.Listen(IPAddress.Any, 5001, listenOptions =>
{
listenOptions.UseHttps();
listenOptions.UseConnectionLogging();
@@ -49,8 +44,8 @@ public class Program
options.ListenAnyIP(5002, listenOptions =>
{
- listenOptions.UseHttps(StoreName.My, "localhost");
listenOptions.UseConnectionLogging();
+ listenOptions.UseHttps(StoreName.My, "localhost");
listenOptions.Protocols = HttpProtocols.Http3;
});
@@ -108,6 +103,14 @@ public class Program
listenOptions.UseConnectionLogging();
listenOptions.Protocols = HttpProtocols.Http1AndHttp2;
});
+
+ // Port configured for WebTransport
+ options.Listen(IPAddress.Any, 5007, listenOptions =>
+ {
+ listenOptions.UseHttps(GenerateManualCertificate());
+ listenOptions.UseConnectionLogging();
+ listenOptions.Protocols = HttpProtocols.Http1AndHttp2AndHttp3;
+ });
})
.UseStartup();
});
@@ -119,4 +122,54 @@ public class Program
host.Run();
}
+
+ // Adapted from: https://github.com/wegylexy/webtransport
+ // We will need to eventually merge this with existing Kestrel certificate generation
+ // tracked in issue #41762
+ private static X509Certificate2 GenerateManualCertificate()
+ {
+ X509Certificate2 cert = null;
+ var store = new X509Store("KestrelWebTransportCertificates", StoreLocation.CurrentUser);
+ store.Open(OpenFlags.ReadWrite);
+ if (store.Certificates.Count > 0)
+ {
+ cert = store.Certificates[^1];
+
+ // rotate key after it expires
+ if (DateTime.Parse(cert.GetExpirationDateString(), null) < DateTimeOffset.UtcNow)
+ {
+ cert = null;
+ }
+ }
+ if (cert == null)
+ {
+ // generate a new cert
+ var now = DateTimeOffset.UtcNow;
+ SubjectAlternativeNameBuilder sanBuilder = new();
+ sanBuilder.AddDnsName("localhost");
+ using var ec = ECDsa.Create(ECCurve.NamedCurves.nistP256);
+ CertificateRequest req = new("CN=localhost", ec, HashAlgorithmName.SHA256);
+ // Adds purpose
+ req.CertificateExtensions.Add(new X509EnhancedKeyUsageExtension(new OidCollection
+ {
+ new("1.3.6.1.5.5.7.3.1") // serverAuth
+ }, false));
+ // Adds usage
+ req.CertificateExtensions.Add(new X509KeyUsageExtension(X509KeyUsageFlags.DigitalSignature, false));
+ // Adds subject alternate names
+ req.CertificateExtensions.Add(sanBuilder.Build());
+ // Sign
+ using var crt = req.CreateSelfSigned(now, now.AddDays(14)); // 14 days is the max duration of a certificate for this
+ cert = new(crt.Export(X509ContentType.Pfx));
+
+ // Save
+ store.Add(cert);
+ }
+ store.Close();
+
+ var hash = SHA256.HashData(cert.RawData);
+ var certStr = Convert.ToBase64String(hash);
+ Console.WriteLine($"\n\n\n\n\nCertificate: {certStr}\n\n\n\n"); // <-- you will need to put this output into the JS API call to allo wthe connection
+ return cert;
+ }
}
diff --git a/src/Servers/Kestrel/shared/KnownHeaders.cs b/src/Servers/Kestrel/shared/KnownHeaders.cs
index c04451b3f91..8ce3eaecf81 100644
--- a/src/Servers/Kestrel/shared/KnownHeaders.cs
+++ b/src/Servers/Kestrel/shared/KnownHeaders.cs
@@ -27,6 +27,7 @@ public class KnownHeaders
HeaderNames.Connection,
HeaderNames.Scheme,
HeaderNames.Path,
+ HeaderNames.Protocol,
HeaderNames.Method,
HeaderNames.Authority,
HeaderNames.Host,
@@ -45,7 +46,8 @@ public class KnownHeaders
"Method", // :method
"Path", // :path
"Scheme", // :scheme
- "Status" // :status
+ "Status", // :status
+ "Protocol" // :protocol
};
public static readonly string[] NonApiHeaders =
@@ -132,6 +134,7 @@ public class KnownHeaders
HeaderNames.IfRange,
HeaderNames.IfUnmodifiedSince,
HeaderNames.MaxForwards,
+ HeaderNames.Protocol,
HeaderNames.ProxyAuthorization,
HeaderNames.Referer,
HeaderNames.Range,
diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/WebTransportTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/WebTransportTests.cs
new file mode 100644
index 00000000000..990752c0f5c
--- /dev/null
+++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/WebTransportTests.cs
@@ -0,0 +1,138 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Net;
+using System.Net.Http;
+using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http3;
+using Microsoft.AspNetCore.Testing;
+using Microsoft.Net.Http.Headers;
+using Http3SettingType = Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http3.Http3SettingType;
+
+namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests;
+
+public class WebTransportTests : Http3TestBase
+{
+ [Fact]
+ public async Task WebTransportHandshake_ClientToServerPasses()
+ {
+ _serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = true;
+
+ await Http3Api.InitializeConnectionAsync(_noopApplication);
+ var controlStream = await Http3Api.CreateControlStream();
+ var controlStream2 = await Http3Api.GetInboundControlStream();
+
+ var settings = new Http3PeerSettings()
+ {
+ EnableWebTransport = 1,
+ H3Datagram = 1,
+ };
+
+ await controlStream.SendSettingsAsync(settings.GetNonProtocolDefaults());
+ var response1 = await controlStream2.ExpectSettingsAsync();
+
+ await Http3Api.ServerReceivedSettingsReader.ReadAsync().DefaultTimeout();
+
+ Assert.Equal(1, response1[(long)Http3SettingType.EnableWebTransport]);
+
+ var requestStream = await Http3Api.CreateRequestStream();
+ var headersConnectFrame = new[]
+ {
+ new KeyValuePair(HeaderNames.Method, "CONNECT"),
+ new KeyValuePair(HeaderNames.Protocol, "webtransport"),
+ new KeyValuePair(HeaderNames.Scheme, "http"),
+ new KeyValuePair(HeaderNames.Path, "/"),
+ new KeyValuePair(HeaderNames.Authority, "server.example.com"),
+ new KeyValuePair(HeaderNames.Origin, "server.example.com")
+ };
+
+ await requestStream.SendHeadersAsync(headersConnectFrame);
+ var response2 = await requestStream.ExpectHeadersAsync();
+
+ Assert.Equal((int)HttpStatusCode.OK, Convert.ToInt32(response2[HeaderNames.Status], null));
+
+ await requestStream.OnDisposedTask.DefaultTimeout();
+ }
+
+ [Theory]
+ [InlineData(
+ ((long)Http3ErrorCode.ProtocolError),
+ nameof(CoreStrings.Http3MethodMustBeConnectWhenUsingProtocolPseudoHeader),
+ nameof(HeaderNames.Method), "GET", // incorrect method (verifies that webtransport doesn't break regular Http/3 get)
+ nameof(HeaderNames.Protocol), "webtransport",
+ nameof(HeaderNames.Scheme), "http",
+ nameof(HeaderNames.Path), "/",
+ nameof(HeaderNames.Authority), "server.example.com",
+ nameof(HeaderNames.Origin), "server.example.com")]
+ [InlineData(
+ ((long)Http3ErrorCode.ProtocolError),
+ nameof(CoreStrings.Http3MissingAuthorityOrPathPseudoHeaders),
+ nameof(HeaderNames.Method), "CONNECT",
+ nameof(HeaderNames.Protocol), "webtransport",
+ nameof(HeaderNames.Scheme), "http",
+ nameof(HeaderNames.Authority), "server.example.com",
+ nameof(HeaderNames.Origin), "server.example.com")] // no path
+ [InlineData(
+ ((long)Http3ErrorCode.ProtocolError),
+ nameof(CoreStrings.Http3MissingAuthorityOrPathPseudoHeaders),
+ nameof(HeaderNames.Method), "CONNECT",
+ nameof(HeaderNames.Protocol), "webtransport",
+ nameof(HeaderNames.Scheme), "http",
+ nameof(HeaderNames.Path), "/",
+ nameof(HeaderNames.Origin), "server.example.com")] // no authority
+ public async Task WebTransportHandshake_IncorrectHeadersRejects(long error, string targetErrorMessage, params string[] headers) // todo replace the "" with CoreStrings.... then push (maybe also update the waitforstreamerror function) and resolve stephen's comment
+ {
+ _serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = true;
+
+ await Http3Api.InitializeConnectionAsync(_noopApplication);
+ var controlStream = await Http3Api.CreateControlStream();
+ var controlStream2 = await Http3Api.GetInboundControlStream();
+
+ var settings = new Http3PeerSettings()
+ {
+ EnableWebTransport = 1,
+ H3Datagram = 1,
+ };
+
+ await controlStream.SendSettingsAsync(settings.GetNonProtocolDefaults());
+ var response1 = await controlStream2.ExpectSettingsAsync();
+
+ await Http3Api.ServerReceivedSettingsReader.ReadAsync().DefaultTimeout();
+
+ Assert.Equal(1, response1[(long)Http3SettingType.EnableWebTransport]);
+
+ var requestStream = await Http3Api.CreateRequestStream();
+
+ var headersConnectFrame = new List>();
+ for (var i = 0; i < headers.Length; i += 2)
+ {
+ headersConnectFrame.Add(new KeyValuePair(GetHeaderFromName(headers[i]), headers[i + 1]));
+ }
+ await requestStream.SendHeadersAsync(headersConnectFrame);
+
+ await requestStream.WaitForStreamErrorAsync((Http3ErrorCode)error, AssertExpectedErrorMessages, GetCoreStringFromName(targetErrorMessage));
+ }
+
+ private static string GetCoreStringFromName(string headerName)
+ {
+ return headerName switch
+ {
+ nameof(CoreStrings.Http3MissingAuthorityOrPathPseudoHeaders) => CoreStrings.Http3MissingAuthorityOrPathPseudoHeaders,
+ nameof(CoreStrings.Http3MethodMustBeConnectWhenUsingProtocolPseudoHeader) => CoreStrings.Http3MethodMustBeConnectWhenUsingProtocolPseudoHeader,
+ _ => throw new Exception("Core string not mapped yet")
+ };
+ }
+
+ private static string GetHeaderFromName(string coreStringName)
+ {
+ return coreStringName switch
+ {
+ nameof(HeaderNames.Method) => HeaderNames.Method,
+ nameof(HeaderNames.Protocol) => HeaderNames.Protocol,
+ nameof(HeaderNames.Scheme) => HeaderNames.Scheme,
+ nameof(HeaderNames.Path) => HeaderNames.Path,
+ nameof(HeaderNames.Authority) => HeaderNames.Authority,
+ nameof(HeaderNames.Origin) => HeaderNames.Origin,
+ _ => throw new Exception("Header name not mapped yet")
+ };
+ }
+}
diff --git a/src/Shared/runtime/Http3/Http3SettingType.cs b/src/Shared/runtime/Http3/Http3SettingType.cs
index 40958e3e0fc..4919e8979c3 100644
--- a/src/Shared/runtime/Http3/Http3SettingType.cs
+++ b/src/Shared/runtime/Http3/Http3SettingType.cs
@@ -33,6 +33,19 @@ namespace System.Net.Http
/// The maximum number of request streams that can be blocked waiting for QPack instructions. The default is 0.
/// https://tools.ietf.org/html/draft-ietf-quic-qpack-11#section-5
///
- QPackBlockedStreams = 0x7
+ QPackBlockedStreams = 0x7,
+
+ ///
+ /// SETTINGS_ENABLE_WEBTRANSPORT, default is 0 (off)
+ /// https://www.ietf.org/archive/id/draft-ietf-webtrans-http3-01.html#name-http-3-settings-parameter-r
+ ///
+ EnableWebTransport = 0x2b603742,
+
+ ///
+ /// H3_DATAGRAM, default is 0 (off)
+ /// indicates that the server suppprts sending individual datagrams over Http/3
+ /// rather than just streams.
+ ///
+ H3Datagram = 0xffd277
}
}