Skip to content

Commit 3bf4416

Browse files
authored
HTTP/3: Remove request-only headers from enumerator (#38610)
1 parent 6893565 commit 3bf4416

File tree

2 files changed

+3
-28
lines changed

2 files changed

+3
-28
lines changed

src/Servers/Kestrel/Core/src/Internal/Http2/Http2HeadersEnumerator.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ public void Dispose()
148148

149149
internal static int GetResponseHeaderStaticTableId(KnownHeaderType responseHeaderType)
150150
{
151+
// Removed from this test are request-only headers, e.g. cookie.
151152
switch (responseHeaderType)
152153
{
153154
case KnownHeaderType.CacheControl:

src/Servers/Kestrel/Core/src/Internal/Http3/Http3HeadersEnumerator.cs

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ public void Dispose()
148148

149149
internal static int GetResponseHeaderStaticTableId(KnownHeaderType responseHeaderType)
150150
{
151+
// Removed from this test are request-only headers, e.g. cookie.
152+
//
151153
// Not every header in the QPACK static table is known.
152154
// These are missing from this test and the full header name is written.
153155
// Missing:
@@ -171,28 +173,14 @@ internal static int GetResponseHeaderStaticTableId(KnownHeaderType responseHeade
171173
return H3StaticTable.ContentLength0;
172174
case KnownHeaderType.Date:
173175
return H3StaticTable.Date;
174-
case KnownHeaderType.Cookie:
175-
return H3StaticTable.Cookie;
176176
case KnownHeaderType.ETag:
177177
return H3StaticTable.ETag;
178-
case KnownHeaderType.IfModifiedSince:
179-
return H3StaticTable.IfModifiedSince;
180-
case KnownHeaderType.IfNoneMatch:
181-
return H3StaticTable.IfNoneMatch;
182178
case KnownHeaderType.LastModified:
183179
return H3StaticTable.LastModified;
184180
case KnownHeaderType.Location:
185181
return H3StaticTable.Location;
186-
case KnownHeaderType.Referer:
187-
return H3StaticTable.Referer;
188182
case KnownHeaderType.SetCookie:
189183
return H3StaticTable.SetCookie;
190-
case KnownHeaderType.Method:
191-
return H3StaticTable.MethodConnect;
192-
case KnownHeaderType.Accept:
193-
return H3StaticTable.AcceptAny;
194-
case KnownHeaderType.AcceptEncoding:
195-
return H3StaticTable.AcceptEncodingGzipDeflateBr;
196184
case KnownHeaderType.AcceptRanges:
197185
return H3StaticTable.AcceptRangesBytes;
198186
case KnownHeaderType.AccessControlAllowHeaders:
@@ -205,30 +193,16 @@ internal static int GetResponseHeaderStaticTableId(KnownHeaderType responseHeade
205193
return H3StaticTable.ContentEncodingBr;
206194
case KnownHeaderType.ContentType:
207195
return H3StaticTable.ContentTypeApplicationDnsMessage;
208-
case KnownHeaderType.Range:
209-
return H3StaticTable.RangeBytes0ToAll;
210196
case KnownHeaderType.Vary:
211197
return H3StaticTable.VaryAcceptEncoding;
212-
case KnownHeaderType.AcceptLanguage:
213-
return H3StaticTable.AcceptLanguage;
214198
case KnownHeaderType.AccessControlAllowCredentials:
215199
return H3StaticTable.AccessControlAllowCredentials;
216200
case KnownHeaderType.AccessControlAllowMethods:
217201
return H3StaticTable.AccessControlAllowMethodsGet;
218202
case KnownHeaderType.AltSvc:
219203
return H3StaticTable.AltSvcClear;
220-
case KnownHeaderType.Authorization:
221-
return H3StaticTable.Authorization;
222-
case KnownHeaderType.IfRange:
223-
return H3StaticTable.IfRange;
224-
case KnownHeaderType.Origin:
225-
return H3StaticTable.Origin;
226204
case KnownHeaderType.Server:
227205
return H3StaticTable.Server;
228-
case KnownHeaderType.UpgradeInsecureRequests:
229-
return H3StaticTable.UpgradeInsecureRequests1;
230-
case KnownHeaderType.UserAgent:
231-
return H3StaticTable.UserAgent;
232206
default:
233207
return -1;
234208
}

0 commit comments

Comments
 (0)