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()
{