Convert to using definitions from HeaderNames

This commit is contained in:
John Luo 2018-06-12 17:21:25 -07:00
parent ee86e97b6b
commit 13663e1e15
5 changed files with 121 additions and 121 deletions

View File

@ -3,6 +3,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack
{ {
@ -35,20 +36,20 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack
private readonly HeaderField[] _staticTable = new HeaderField[] private readonly HeaderField[] _staticTable = new HeaderField[]
{ {
CreateHeaderField(":authority", ""), CreateHeaderField(HeaderNames.Authority, ""),
CreateHeaderField(":method", "GET"), CreateHeaderField(HeaderNames.Method, "GET"),
CreateHeaderField(":method", "POST"), CreateHeaderField(HeaderNames.Method, "POST"),
CreateHeaderField(":path", "/"), CreateHeaderField(HeaderNames.Path, "/"),
CreateHeaderField(":path", "/index.html"), CreateHeaderField(HeaderNames.Path, "/index.html"),
CreateHeaderField(":scheme", "http"), CreateHeaderField(HeaderNames.Scheme, "http"),
CreateHeaderField(":scheme", "https"), CreateHeaderField(HeaderNames.Scheme, "https"),
CreateHeaderField(":status", "200"), CreateHeaderField(HeaderNames.Status, "200"),
CreateHeaderField(":status", "204"), CreateHeaderField(HeaderNames.Status, "204"),
CreateHeaderField(":status", "206"), CreateHeaderField(HeaderNames.Status, "206"),
CreateHeaderField(":status", "304"), CreateHeaderField(HeaderNames.Status, "304"),
CreateHeaderField(":status", "400"), CreateHeaderField(HeaderNames.Status, "400"),
CreateHeaderField(":status", "404"), CreateHeaderField(HeaderNames.Status, "404"),
CreateHeaderField(":status", "500"), CreateHeaderField(HeaderNames.Status, "500"),
CreateHeaderField("accept-charset", ""), CreateHeaderField("accept-charset", ""),
CreateHeaderField("accept-encoding", "gzip, deflate"), CreateHeaderField("accept-encoding", "gzip, deflate"),
CreateHeaderField("accept-language", ""), CreateHeaderField("accept-language", ""),

View File

@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2 namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2
{ {
@ -45,11 +46,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2
private static readonly PseudoHeaderFields _mandatoryRequestPseudoHeaderFields = private static readonly PseudoHeaderFields _mandatoryRequestPseudoHeaderFields =
PseudoHeaderFields.Method | PseudoHeaderFields.Path | PseudoHeaderFields.Scheme; PseudoHeaderFields.Method | PseudoHeaderFields.Path | PseudoHeaderFields.Scheme;
private static readonly byte[] _authorityBytes = Encoding.ASCII.GetBytes("authority"); private static readonly byte[] _authorityBytes = Encoding.ASCII.GetBytes(HeaderNames.Authority);
private static readonly byte[] _methodBytes = Encoding.ASCII.GetBytes("method"); private static readonly byte[] _methodBytes = Encoding.ASCII.GetBytes(HeaderNames.Method);
private static readonly byte[] _pathBytes = Encoding.ASCII.GetBytes("path"); private static readonly byte[] _pathBytes = Encoding.ASCII.GetBytes(HeaderNames.Path);
private static readonly byte[] _schemeBytes = Encoding.ASCII.GetBytes("scheme"); private static readonly byte[] _schemeBytes = Encoding.ASCII.GetBytes(HeaderNames.Scheme);
private static readonly byte[] _statusBytes = Encoding.ASCII.GetBytes("status"); private static readonly byte[] _statusBytes = Encoding.ASCII.GetBytes(HeaderNames.Status);
private static readonly byte[] _connectionBytes = Encoding.ASCII.GetBytes("connection"); private static readonly byte[] _connectionBytes = Encoding.ASCII.GetBytes("connection");
private static readonly byte[] _teBytes = Encoding.ASCII.GetBytes("te"); private static readonly byte[] _teBytes = Encoding.ASCII.GetBytes("te");
private static readonly byte[] _trailersBytes = Encoding.ASCII.GetBytes("trailers"); private static readonly byte[] _trailersBytes = Encoding.ASCII.GetBytes("trailers");
@ -803,9 +804,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2
return false; return false;
} }
// Skip ':'
name = name.Slice(1);
if (name.SequenceEqual(_pathBytes)) if (name.SequenceEqual(_pathBytes))
{ {
headerField = PseudoHeaderFields.Path; headerField = PseudoHeaderFields.Path;

View File

@ -57,15 +57,15 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2
// do the reading from a pipeline, nor do we use endConnection to report connection-level errors. // do the reading from a pipeline, nor do we use endConnection to report connection-level errors.
_httpVersion = Http.HttpVersion.Http2; _httpVersion = Http.HttpVersion.Http2;
var methodText = RequestHeaders[":method"]; var methodText = RequestHeaders[HeaderNames.Method];
Method = HttpUtilities.GetKnownMethod(methodText); Method = HttpUtilities.GetKnownMethod(methodText);
_methodText = methodText; _methodText = methodText;
if (!string.Equals(RequestHeaders[":scheme"], Scheme, StringComparison.OrdinalIgnoreCase)) if (!string.Equals(RequestHeaders[HeaderNames.Scheme], Scheme, StringComparison.OrdinalIgnoreCase))
{ {
BadHttpRequestException.Throw(RequestRejectionReason.InvalidRequestLine); BadHttpRequestException.Throw(RequestRejectionReason.InvalidRequestLine);
} }
var path = RequestHeaders[":path"].ToString(); var path = RequestHeaders[HeaderNames.Path].ToString();
var queryIndex = path.IndexOf('?'); var queryIndex = path.IndexOf('?');
Path = queryIndex == -1 ? path : path.Substring(0, queryIndex); Path = queryIndex == -1 ? path : path.Substring(0, queryIndex);
@ -78,7 +78,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2
// request message that contains more than one Host header field or a // request message that contains more than one Host header field or a
// Host header field with an invalid field-value. // Host header field with an invalid field-value.
var authority = RequestHeaders[":authority"]; var authority = RequestHeaders[HeaderNames.Authority];
var host = HttpRequestHeaders.HeaderHost; var host = HttpRequestHeaders.HeaderHost;
if (authority.Count > 0) if (authority.Count > 0)
{ {

View File

@ -8,6 +8,7 @@ using System.Text;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.Net.Http.Headers;
using Xunit; using Xunit;
namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
@ -104,7 +105,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
public void DecodesIndexedHeaderField_StaticTable() public void DecodesIndexedHeaderField_StaticTable()
{ {
_decoder.Decode(_indexedHeaderStatic, endHeaders: true, handler: this); _decoder.Decode(_indexedHeaderStatic, endHeaders: true, handler: this);
Assert.Equal("GET", _decodedHeaders[":method"]); Assert.Equal("GET", _decodedHeaders[HeaderNames.Method]);
} }
[Fact] [Fact]

View File

@ -31,27 +31,27 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
private static readonly IEnumerable<KeyValuePair<string, string>> _postRequestHeaders = new[] private static readonly IEnumerable<KeyValuePair<string, string>> _postRequestHeaders = new[]
{ {
new KeyValuePair<string, string>(":method", "POST"), new KeyValuePair<string, string>(HeaderNames.Method, "POST"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", "localhost:80"), new KeyValuePair<string, string>(HeaderNames.Authority, "localhost:80"),
}; };
private static readonly IEnumerable<KeyValuePair<string, string>> _expectContinueRequestHeaders = new[] private static readonly IEnumerable<KeyValuePair<string, string>> _expectContinueRequestHeaders = new[]
{ {
new KeyValuePair<string, string>(":method", "POST"), new KeyValuePair<string, string>(HeaderNames.Method, "POST"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":authority", "127.0.0.1"), new KeyValuePair<string, string>(HeaderNames.Authority, "127.0.0.1"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>("expect", "100-continue"), new KeyValuePair<string, string>("expect", "100-continue"),
}; };
private static readonly IEnumerable<KeyValuePair<string, string>> _browserRequestHeaders = new[] private static readonly IEnumerable<KeyValuePair<string, string>> _browserRequestHeaders = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", "localhost:80"), new KeyValuePair<string, string>(HeaderNames.Authority, "localhost:80"),
new KeyValuePair<string, string>("user-agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0"), new KeyValuePair<string, string>("user-agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0"),
new KeyValuePair<string, string>("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"), new KeyValuePair<string, string>("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"),
new KeyValuePair<string, string>("accept-language", "en-US,en;q=0.5"), new KeyValuePair<string, string>("accept-language", "en-US,en;q=0.5"),
@ -67,10 +67,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
private static readonly IEnumerable<KeyValuePair<string, string>> _oneContinuationRequestHeaders = new[] private static readonly IEnumerable<KeyValuePair<string, string>> _oneContinuationRequestHeaders = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", "localhost:80"), new KeyValuePair<string, string>(HeaderNames.Authority, "localhost:80"),
new KeyValuePair<string, string>("a", _largeHeaderValue), new KeyValuePair<string, string>("a", _largeHeaderValue),
new KeyValuePair<string, string>("b", _largeHeaderValue), new KeyValuePair<string, string>("b", _largeHeaderValue),
new KeyValuePair<string, string>("c", _largeHeaderValue), new KeyValuePair<string, string>("c", _largeHeaderValue),
@ -79,10 +79,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
private static readonly IEnumerable<KeyValuePair<string, string>> _twoContinuationsRequestHeaders = new[] private static readonly IEnumerable<KeyValuePair<string, string>> _twoContinuationsRequestHeaders = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", "localhost:80"), new KeyValuePair<string, string>(HeaderNames.Authority, "localhost:80"),
new KeyValuePair<string, string>("a", _largeHeaderValue), new KeyValuePair<string, string>("a", _largeHeaderValue),
new KeyValuePair<string, string>("b", _largeHeaderValue), new KeyValuePair<string, string>("b", _largeHeaderValue),
new KeyValuePair<string, string>("c", _largeHeaderValue), new KeyValuePair<string, string>("c", _largeHeaderValue),
@ -1078,9 +1078,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":unknown", "0"), new KeyValuePair<string, string>(":unknown", "0"),
}; };
@ -1092,10 +1092,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":status", "200"), new KeyValuePair<string, string>(HeaderNames.Status, "200"),
}; };
return HEADERS_Received_InvalidHeaderFields_StreamError(headers, expectedErrorMessage: CoreStrings.Http2ErrorResponsePseudoHeaderField); return HEADERS_Received_InvalidHeaderFields_StreamError(headers, expectedErrorMessage: CoreStrings.Http2ErrorResponsePseudoHeaderField);
@ -1167,9 +1167,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>("connection", "keep-alive") new KeyValuePair<string, string>("connection", "keep-alive")
}; };
@ -1181,9 +1181,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>("te", "trailers, deflate") new KeyValuePair<string, string>("te", "trailers, deflate")
}; };
@ -1195,9 +1195,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>("te", "trailers") new KeyValuePair<string, string>("te", "trailers")
}; };
@ -1222,10 +1222,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", "local=host:80"), new KeyValuePair<string, string>(HeaderNames.Authority, "local=host:80"),
}; };
await InitializeConnectionAsync(_noopApplication); await InitializeConnectionAsync(_noopApplication);
@ -1246,7 +1246,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
Assert.Equal(3, _decodedHeaders.Count); Assert.Equal(3, _decodedHeaders.Count);
Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase);
Assert.Equal("400", _decodedHeaders[":status"]); Assert.Equal("400", _decodedHeaders[HeaderNames.Status]);
Assert.Equal("0", _decodedHeaders["content-length"]); Assert.Equal("0", _decodedHeaders["content-length"]);
} }
@ -1255,9 +1255,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
}; };
await InitializeConnectionAsync(_noopApplication); await InitializeConnectionAsync(_noopApplication);
@ -1278,7 +1278,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
Assert.Equal(3, _decodedHeaders.Count); Assert.Equal(3, _decodedHeaders.Count);
Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase);
Assert.Equal("400", _decodedHeaders[":status"]); Assert.Equal("400", _decodedHeaders[HeaderNames.Status]);
Assert.Equal("0", _decodedHeaders["content-length"]); Assert.Equal("0", _decodedHeaders["content-length"]);
} }
@ -1287,9 +1287,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>("Host", "host1"), new KeyValuePair<string, string>("Host", "host1"),
new KeyValuePair<string, string>("Host", "host2"), new KeyValuePair<string, string>("Host", "host2"),
}; };
@ -1312,7 +1312,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
Assert.Equal(3, _decodedHeaders.Count); Assert.Equal(3, _decodedHeaders.Count);
Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase);
Assert.Equal("400", _decodedHeaders[":status"]); Assert.Equal("400", _decodedHeaders[HeaderNames.Status]);
Assert.Equal("0", _decodedHeaders["content-length"]); Assert.Equal("0", _decodedHeaders["content-length"]);
} }
@ -1321,10 +1321,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", ""), new KeyValuePair<string, string>(HeaderNames.Authority, ""),
}; };
await InitializeConnectionAsync(_noopApplication); await InitializeConnectionAsync(_noopApplication);
@ -1345,7 +1345,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
Assert.Equal(3, _decodedHeaders.Count); Assert.Equal(3, _decodedHeaders.Count);
Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase);
Assert.Equal("200", _decodedHeaders[":status"]); Assert.Equal("200", _decodedHeaders[HeaderNames.Status]);
Assert.Equal("0", _decodedHeaders["content-length"]); Assert.Equal("0", _decodedHeaders["content-length"]);
} }
@ -1354,10 +1354,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", ""), new KeyValuePair<string, string>(HeaderNames.Authority, ""),
new KeyValuePair<string, string>("Host", "abc"), new KeyValuePair<string, string>("Host", "abc"),
}; };
await InitializeConnectionAsync(_echoHost); await InitializeConnectionAsync(_echoHost);
@ -1379,7 +1379,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
Assert.Equal(4, _decodedHeaders.Count); Assert.Equal(4, _decodedHeaders.Count);
Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase);
Assert.Equal("200", _decodedHeaders[":status"]); Assert.Equal("200", _decodedHeaders[HeaderNames.Status]);
Assert.Equal("0", _decodedHeaders[HeaderNames.ContentLength]); Assert.Equal("0", _decodedHeaders[HeaderNames.ContentLength]);
Assert.Equal("", _decodedHeaders[HeaderNames.Host]); Assert.Equal("", _decodedHeaders[HeaderNames.Host]);
} }
@ -1389,10 +1389,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", "def"), new KeyValuePair<string, string>(HeaderNames.Authority, "def"),
new KeyValuePair<string, string>("Host", "abc"), new KeyValuePair<string, string>("Host", "abc"),
}; };
await InitializeConnectionAsync(_echoHost); await InitializeConnectionAsync(_echoHost);
@ -1414,7 +1414,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
Assert.Equal(4, _decodedHeaders.Count); Assert.Equal(4, _decodedHeaders.Count);
Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase);
Assert.Equal("200", _decodedHeaders[":status"]); Assert.Equal("200", _decodedHeaders[HeaderNames.Status]);
Assert.Equal("0", _decodedHeaders[HeaderNames.ContentLength]); Assert.Equal("0", _decodedHeaders[HeaderNames.ContentLength]);
Assert.Equal("def", _decodedHeaders[HeaderNames.Host]); Assert.Equal("def", _decodedHeaders[HeaderNames.Host]);
} }
@ -1424,9 +1424,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>("Host", "abc"), new KeyValuePair<string, string>("Host", "abc"),
}; };
await InitializeConnectionAsync(_echoHost); await InitializeConnectionAsync(_echoHost);
@ -1448,7 +1448,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
Assert.Equal(4, _decodedHeaders.Count); Assert.Equal(4, _decodedHeaders.Count);
Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase);
Assert.Equal("200", _decodedHeaders[":status"]); Assert.Equal("200", _decodedHeaders[HeaderNames.Status]);
Assert.Equal("0", _decodedHeaders[HeaderNames.ContentLength]); Assert.Equal("0", _decodedHeaders[HeaderNames.ContentLength]);
Assert.Equal("abc", _decodedHeaders[HeaderNames.Host]); Assert.Equal("abc", _decodedHeaders[HeaderNames.Host]);
} }
@ -1458,10 +1458,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", "def"), new KeyValuePair<string, string>(HeaderNames.Authority, "def"),
new KeyValuePair<string, string>("Host", "a=bc"), new KeyValuePair<string, string>("Host", "a=bc"),
}; };
await InitializeConnectionAsync(_echoHost); await InitializeConnectionAsync(_echoHost);
@ -1483,7 +1483,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
Assert.Equal(4, _decodedHeaders.Count); Assert.Equal(4, _decodedHeaders.Count);
Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase);
Assert.Equal("200", _decodedHeaders[":status"]); Assert.Equal("200", _decodedHeaders[HeaderNames.Status]);
Assert.Equal("0", _decodedHeaders[HeaderNames.ContentLength]); Assert.Equal("0", _decodedHeaders[HeaderNames.ContentLength]);
Assert.Equal("def", _decodedHeaders[HeaderNames.Host]); Assert.Equal("def", _decodedHeaders[HeaderNames.Host]);
} }
@ -1493,10 +1493,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
{ {
var headers = new[] var headers = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", "d=ef"), new KeyValuePair<string, string>(HeaderNames.Authority, "d=ef"),
new KeyValuePair<string, string>("Host", "abc"), new KeyValuePair<string, string>("Host", "abc"),
}; };
await InitializeConnectionAsync(_echoHost); await InitializeConnectionAsync(_echoHost);
@ -1518,7 +1518,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
Assert.Equal(3, _decodedHeaders.Count); Assert.Equal(3, _decodedHeaders.Count);
Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase);
Assert.Equal("400", _decodedHeaders[":status"]); Assert.Equal("400", _decodedHeaders[HeaderNames.Status]);
Assert.Equal("0", _decodedHeaders[HeaderNames.ContentLength]); Assert.Equal("0", _decodedHeaders[HeaderNames.ContentLength]);
} }
@ -2242,7 +2242,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
Assert.Equal(11, _decodedHeaders.Count); Assert.Equal(11, _decodedHeaders.Count);
Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase);
Assert.Equal("200", _decodedHeaders[":status"]); Assert.Equal("200", _decodedHeaders[HeaderNames.Status]);
Assert.Equal("0", _decodedHeaders["content-length"]); Assert.Equal("0", _decodedHeaders["content-length"]);
Assert.Equal(_largeHeaderValue, _decodedHeaders["a"]); Assert.Equal(_largeHeaderValue, _decodedHeaders["a"]);
Assert.Equal(_largeHeaderValue, _decodedHeaders["b"]); Assert.Equal(_largeHeaderValue, _decodedHeaders["b"]);
@ -2968,10 +2968,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
var data = new TheoryData<IEnumerable<KeyValuePair<string, string>>>(); var data = new TheoryData<IEnumerable<KeyValuePair<string, string>>>();
var requestHeaders = new[] var requestHeaders = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":authority", "127.0.0.1"), new KeyValuePair<string, string>(HeaderNames.Authority, "127.0.0.1"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
}; };
foreach (var headerField in requestHeaders) foreach (var headerField in requestHeaders)
@ -2991,9 +2991,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
var data = new TheoryData<IEnumerable<KeyValuePair<string, string>>>(); var data = new TheoryData<IEnumerable<KeyValuePair<string, string>>>();
var requestHeaders = new[] var requestHeaders = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
}; };
foreach (var headerField in requestHeaders) foreach (var headerField in requestHeaders)
@ -3011,12 +3011,12 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
get get
{ {
var data = new TheoryData<IEnumerable<KeyValuePair<string, string>>>(); var data = new TheoryData<IEnumerable<KeyValuePair<string, string>>>();
var methodHeader = new[] { new KeyValuePair<string, string>(":method", "CONNECT") }; var methodHeader = new[] { new KeyValuePair<string, string>(HeaderNames.Method, "CONNECT") };
var requestHeaders = new[] var requestHeaders = new[]
{ {
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>(":authority", "127.0.0.1"), new KeyValuePair<string, string>(HeaderNames.Authority, "127.0.0.1"),
}; };
foreach (var headerField in requestHeaders) foreach (var headerField in requestHeaders)
@ -3036,10 +3036,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
var data = new TheoryData<IEnumerable<KeyValuePair<string, string>>>(); var data = new TheoryData<IEnumerable<KeyValuePair<string, string>>>();
var requestHeaders = new[] var requestHeaders = new[]
{ {
new KeyValuePair<string, string>(":method", "GET"), new KeyValuePair<string, string>(HeaderNames.Method, "GET"),
new KeyValuePair<string, string>(":path", "/"), new KeyValuePair<string, string>(HeaderNames.Path, "/"),
new KeyValuePair<string, string>(":authority", "127.0.0.1"), new KeyValuePair<string, string>(HeaderNames.Authority, "127.0.0.1"),
new KeyValuePair<string, string>(":scheme", "http"), new KeyValuePair<string, string>(HeaderNames.Scheme, "http"),
new KeyValuePair<string, string>("content-length", "0") new KeyValuePair<string, string>("content-length", "0")
}; };