Skip to content

Commit 43c935b

Browse files
authored
Turn HTTP/3 on by default in Kestrel (#44217)
1 parent f233fa4 commit 43c935b

File tree

4 files changed

+14
-12
lines changed

4 files changed

+14
-12
lines changed

src/Servers/Kestrel/Core/src/ListenOptions.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core;
1616
/// </summary>
1717
public class ListenOptions : IConnectionBuilder, IMultiplexedConnectionBuilder
1818
{
19-
internal const HttpProtocols DefaultHttpProtocols = HttpProtocols.Http1AndHttp2;
19+
internal const HttpProtocols DefaultHttpProtocols = HttpProtocols.Http1AndHttp2AndHttp3;
2020

2121
internal readonly List<Func<ConnectionDelegate, ConnectionDelegate>> _middleware = new List<Func<ConnectionDelegate, ConnectionDelegate>>();
2222
internal readonly List<Func<MultiplexedConnectionDelegate, MultiplexedConnectionDelegate>> _multiplexedMiddleware = new List<Func<MultiplexedConnectionDelegate, MultiplexedConnectionDelegate>>();

src/Servers/Kestrel/Core/test/KestrelServerOptionsTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public void ConfigureEndpointDefaultsAppliesToNewEndpoints()
2828
var options = new KestrelServerOptions();
2929
options.ListenLocalhost(5000);
3030

31-
Assert.Equal(HttpProtocols.Http1AndHttp2, options.CodeBackedListenOptions[0].Protocols);
31+
Assert.Equal(ListenOptions.DefaultHttpProtocols, options.CodeBackedListenOptions[0].Protocols);
3232

3333
options.ConfigureEndpointDefaults(opt =>
3434
{

src/Servers/Kestrel/Core/test/ListenOptionsTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class ListenOptionsTests
1616
public void ProtocolsDefault()
1717
{
1818
var listenOptions = new ListenOptions(new IPEndPoint(IPAddress.Loopback, 0));
19-
Assert.Equal(HttpProtocols.Http1AndHttp2, listenOptions.Protocols);
19+
Assert.Equal(ListenOptions.DefaultHttpProtocols, listenOptions.Protocols);
2020
}
2121

2222
[Fact]

src/Servers/Kestrel/Kestrel/test/KestrelConfigurationLoaderTests.cs

+11-9
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,7 @@ private void EndpointConfigSectionCanSetProtocols(string input, HttpProtocols ex
633633
serverOptions.ConfigureEndpointDefaults(opt =>
634634
{
635635
// Kestrel default.
636-
Assert.Equal(HttpProtocols.Http1AndHttp2, opt.Protocols);
636+
Assert.Equal(ListenOptions.DefaultHttpProtocols, opt.Protocols);
637637
ranDefault = true;
638638
});
639639

@@ -663,14 +663,14 @@ private void EndpointConfigSectionCanSetProtocols(string input, HttpProtocols ex
663663
.LocalhostEndpoint(5002, opt =>
664664
{
665665
// Kestrel default.
666-
Assert.Equal(HttpProtocols.Http1AndHttp2, opt.Protocols);
666+
Assert.Equal(ListenOptions.DefaultHttpProtocols, opt.Protocols);
667667
ran2 = true;
668668
})
669669
.Load();
670670
serverOptions.ListenAnyIP(0, opt =>
671671
{
672672
// Kestrel default.
673-
Assert.Equal(HttpProtocols.Http1AndHttp2, opt.Protocols);
673+
Assert.Equal(ListenOptions.DefaultHttpProtocols, opt.Protocols);
674674
ran3 = true;
675675
});
676676

@@ -1038,13 +1038,15 @@ public void Reload_IdentifiesEndpointsWithChangedDefaults()
10381038

10391039
var (endpointsToStop, endpointsToStart) = serverOptions.ConfigurationLoader.Reload();
10401040

1041-
Assert.Single(endpointsToStop);
1042-
Assert.Single(endpointsToStart);
1041+
// NonDefaultProtocol is unchanged and doesn't need to be stopped/started
1042+
var stopEndpoint = Assert.Single(endpointsToStop);
1043+
var startEndpoint = Assert.Single(endpointsToStart);
1044+
1045+
Assert.Equal(5000, stopEndpoint.IPEndPoint.Port);
1046+
Assert.Equal(ListenOptions.DefaultHttpProtocols, stopEndpoint.Protocols);
10431047

1044-
Assert.Equal(5000, endpointsToStop[0].IPEndPoint.Port);
1045-
Assert.Equal(HttpProtocols.Http1AndHttp2, endpointsToStop[0].Protocols);
1046-
Assert.Equal(5000, endpointsToStart[0].IPEndPoint.Port);
1047-
Assert.Equal(HttpProtocols.Http1, endpointsToStart[0].Protocols);
1048+
Assert.Equal(5000, startEndpoint.IPEndPoint.Port);
1049+
Assert.Equal(HttpProtocols.Http1, startEndpoint.Protocols);
10481050
}
10491051

10501052
[Fact]

0 commit comments

Comments
 (0)