diff --git a/src/Microsoft.AspNetCore.SignalR.Client/HubConnectionBuilderHttpExtensions.cs b/src/Microsoft.AspNetCore.SignalR.Client/HubConnectionBuilderHttpExtensions.cs index 979119e143..786d6d9bf5 100644 --- a/src/Microsoft.AspNetCore.SignalR.Client/HubConnectionBuilderHttpExtensions.cs +++ b/src/Microsoft.AspNetCore.SignalR.Client/HubConnectionBuilderHttpExtensions.cs @@ -99,7 +99,7 @@ namespace Microsoft.AspNetCore.SignalR.Client /// The same instance of the for chaining. public static IHubConnectionBuilder WithUrl(this IHubConnectionBuilder hubConnectionBuilder, Uri url, HttpTransportType transports) { - hubConnectionBuilder.WithUrlCore(url, null, _ => { }); + hubConnectionBuilder.WithUrlCore(url, transports, _ => { }); return hubConnectionBuilder; } @@ -113,7 +113,7 @@ namespace Microsoft.AspNetCore.SignalR.Client /// The same instance of the for chaining. public static IHubConnectionBuilder WithUrl(this IHubConnectionBuilder hubConnectionBuilder, Uri url, HttpTransportType transports, Action configureHttpConnection) { - hubConnectionBuilder.WithUrlCore(url, transports, _ => { }); + hubConnectionBuilder.WithUrlCore(url, transports, configureHttpConnection); return hubConnectionBuilder; } diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderExtensionsTests.cs b/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderExtensionsTests.cs index 258cfdcccf..59515d0338 100644 --- a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderExtensionsTests.cs +++ b/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderExtensionsTests.cs @@ -42,6 +42,36 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests Assert.Equal(HttpTransportType.LongPolling, value.Transports); } + [Fact] + public void WithUrlUsingUriSetsTransport() + { + var connectionBuilder = new HubConnectionBuilder(); + var uri = new Uri("http://tempuri.org"); + connectionBuilder.WithUrl(uri, HttpTransportType.LongPolling); + + var serviceProvider = connectionBuilder.Services.BuildServiceProvider(); + + var value = serviceProvider.GetService>().Value; + + Assert.Equal(HttpTransportType.LongPolling, value.Transports); + } + + [Fact] + public void WithUrlUsingUriHttpConnectionCallsConfigure() + { + var proxy = Mock.Of(); + + var connectionBuilder = new HubConnectionBuilder(); + var uri = new Uri("http://tempuri.org"); + connectionBuilder.WithUrl(uri, HttpTransportType.LongPolling, options => { options.Proxy = proxy; }); + + var serviceProvider = connectionBuilder.Services.BuildServiceProvider(); + + var value = serviceProvider.GetService>().Value; + + Assert.Same(proxy, value.Proxy); + } + [Fact] public void WithHttpConnectionCallsConfigure() {