diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.Log.cs b/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.Log.cs index 66478d4552..0836ea8708 100644 --- a/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.Log.cs +++ b/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.Log.cs @@ -42,8 +42,8 @@ namespace Microsoft.AspNetCore.Http.Connections.Client private static readonly Action _errorWithNegotiation = LoggerMessage.Define(LogLevel.Error, new EventId(10, "ErrorWithNegotiation"), "Failed to start connection. Error getting negotiation response from '{Url}'."); - private static readonly Action _errorStartingTransport = - LoggerMessage.Define(LogLevel.Error, new EventId(11, "ErrorStartingTransport"), "Failed to start connection. Error starting transport '{Transport}'."); + private static readonly Action _errorStartingTransport = + LoggerMessage.Define(LogLevel.Error, new EventId(11, "ErrorStartingTransport"), "Failed to start connection. Error starting transport '{Transport}'."); private static readonly Action _transportNotSupported = LoggerMessage.Define(LogLevel.Debug, new EventId(12, "TransportNotSupported"), "Skipping transport {TransportName} because it is not supported by this client."); @@ -63,8 +63,8 @@ namespace Microsoft.AspNetCore.Http.Connections.Client private static readonly Action _transportThrewExceptionOnStop = LoggerMessage.Define(LogLevel.Error, new EventId(17, "TransportThrewExceptionOnStop"), "The transport threw an exception while stopping."); - private static readonly Action _transportStarted = - LoggerMessage.Define(LogLevel.Debug, new EventId(18, "TransportStarted"), "Transport '{Transport}' started."); + private static readonly Action _transportStarted = + LoggerMessage.Define(LogLevel.Debug, new EventId(18, "TransportStarted"), "Transport '{Transport}' started."); public static void Starting(ILogger logger) { @@ -119,12 +119,9 @@ namespace Microsoft.AspNetCore.Http.Connections.Client _errorWithNegotiation(logger, url, exception); } - public static void ErrorStartingTransport(ILogger logger, ITransport transport, Exception exception) + public static void ErrorStartingTransport(ILogger logger, HttpTransportType transportType, Exception exception) { - if (logger.IsEnabled(LogLevel.Error)) - { - _errorStartingTransport(logger, transport.GetType().Name, exception); - } + _errorStartingTransport(logger, transportType, exception); } public static void TransportNotSupported(ILogger logger, string transport) @@ -166,12 +163,9 @@ namespace Microsoft.AspNetCore.Http.Connections.Client _transportThrewExceptionOnStop(logger, ex); } - public static void TransportStarted(ILogger logger, ITransport transport) + public static void TransportStarted(ILogger logger, HttpTransportType transportType) { - if (logger.IsEnabled(LogLevel.Debug)) - { - _transportStarted(logger, transport.GetType().Name, null); - } + _transportStarted(logger, transportType, null); } } } diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.cs b/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.cs index 67ff626653..dce91f0aab 100644 --- a/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.cs +++ b/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.cs @@ -342,7 +342,7 @@ namespace Microsoft.AspNetCore.Http.Connections.Client } catch (Exception ex) { - Log.ErrorStartingTransport(_logger, transport, ex); + Log.ErrorStartingTransport(_logger, transportType, ex); _transport = null; throw; @@ -357,7 +357,7 @@ namespace Microsoft.AspNetCore.Http.Connections.Client // We successfully started, set the transport properties (we don't want to set these until the transport is definitely running). _transport = transport; - Log.TransportStarted(_logger, _transport); + Log.TransportStarted(_logger, transportType); } private HttpClient CreateHttpClient() diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnectionOptions.cs b/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnectionOptions.cs index 965ba8acf4..79cdd0ac4f 100644 --- a/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnectionOptions.cs +++ b/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnectionOptions.cs @@ -67,6 +67,6 @@ namespace Microsoft.AspNetCore.Http.Connections.Client /// This delegate is invoked after headers from and the access token from /// has been applied. /// - public Action WebSocketOptions { get; set; } + public Action WebSocketConfiguration { get; set; } } } diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/AccessTokenHttpMessageHandler.cs b/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/AccessTokenHttpMessageHandler.cs index 9965370492..4de3f0a7b2 100644 --- a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/AccessTokenHttpMessageHandler.cs +++ b/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/AccessTokenHttpMessageHandler.cs @@ -11,16 +11,16 @@ namespace Microsoft.AspNetCore.Http.Connections.Client.Internal { public class AccessTokenHttpMessageHandler : DelegatingHandler { - private readonly Func> _accessTokenFactory; + private readonly Func> _accessTokenProvider; - public AccessTokenHttpMessageHandler(HttpMessageHandler inner, Func> accessTokenFactory) : base(inner) + public AccessTokenHttpMessageHandler(HttpMessageHandler inner, Func> accessTokenProvider) : base(inner) { - _accessTokenFactory = accessTokenFactory ?? throw new ArgumentNullException(nameof(accessTokenFactory)); + _accessTokenProvider = accessTokenProvider ?? throw new ArgumentNullException(nameof(accessTokenProvider)); } protected override async Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { - var accessToken = await _accessTokenFactory(); + var accessToken = await _accessTokenProvider(); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); return await base.SendAsync(request, cancellationToken); diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs b/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs index 74d82ef937..54d9b93376 100644 --- a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs +++ b/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs @@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Http.Connections.Client.Internal public partial class WebSocketsTransport : ITransport { private readonly ClientWebSocket _webSocket; - private readonly Func> _accessTokenFactory; + private readonly Func> _accessTokenProvider; private IDuplexPipe _application; private WebSocketMessageType _webSocketMessageType; private readonly ILogger _logger; @@ -81,10 +81,10 @@ namespace Microsoft.AspNetCore.Http.Connections.Client.Internal if (httpConnectionOptions.AccessTokenProvider != null) { - _accessTokenFactory = httpConnectionOptions.AccessTokenProvider; + _accessTokenProvider = httpConnectionOptions.AccessTokenProvider; } - httpConnectionOptions.WebSocketOptions?.Invoke(_webSocket.Options); + httpConnectionOptions.WebSocketConfiguration?.Invoke(_webSocket.Options); _closeTimeout = httpConnectionOptions.CloseTimeout; } @@ -116,9 +116,9 @@ namespace Microsoft.AspNetCore.Http.Connections.Client.Internal Log.StartTransport(_logger, transferFormat, resolvedUrl); - if (_accessTokenFactory != null) + if (_accessTokenProvider != null) { - var accessToken = await _accessTokenFactory(); + var accessToken = await _accessTokenProvider(); _webSocket.Options.SetRequestHeader("Authorization", $"Bearer {accessToken}"); } diff --git a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs b/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs index 8182594fa4..353d40d759 100644 --- a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs +++ b/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs @@ -706,7 +706,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests { using (StartLog(out var loggerFactory, $"{nameof(ClientCanUseJwtBearerTokenForAuthentication)}_{transportType}")) { - async Task AccessTokenFactory() + async Task AccessTokenProvider() { var httpResponse = await new HttpClient().GetAsync(_serverFixture.Url + "/generateJwtToken"); httpResponse.EnsureSuccessStatusCode(); @@ -717,7 +717,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests .WithLoggerFactory(loggerFactory) .WithUrl(_serverFixture.Url + "/authorizedhub", transportType, options => { - options.AccessTokenProvider = AccessTokenFactory; + options.AccessTokenProvider = AccessTokenProvider; }) .Build(); try @@ -784,7 +784,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests .WithLoggerFactory(loggerFactory) .WithUrl(_serverFixture.Url + "/default", HttpTransportType.WebSockets, options => { - options.WebSocketOptions = o => o.Cookies = cookieJar; + options.WebSocketConfiguration = o => o.Cookies = cookieJar; }) .Build(); try diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Helpers.cs b/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Helpers.cs index b355058524..45b7cdbccb 100644 --- a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Helpers.cs +++ b/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Helpers.cs @@ -22,13 +22,13 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests ITransport transport = null, ITransportFactory transportFactory = null, HttpTransportType? transportType = null, - Func> accessTokenFactory = null) + Func> accessTokenProvider = null) { var httpOptions = new HttpConnectionOptions { Transports = transportType ?? HttpTransportType.LongPolling, HttpMessageHandlerFactory = (httpMessageHandler) => httpHandler ?? TestHttpMessageHandler.CreateDefault(), - AccessTokenProvider = accessTokenFactory, + AccessTokenProvider = accessTokenProvider, }; if (url != null) { diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Negotiate.cs b/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Negotiate.cs index 03864a4a4c..7d6ed721b2 100644 --- a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Negotiate.cs +++ b/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Negotiate.cs @@ -7,6 +7,7 @@ using System.Net; using System.Threading.Tasks; using Microsoft.AspNetCore.Connections; using Microsoft.AspNetCore.Http.Connections; +using Microsoft.AspNetCore.Http.Connections.Client; using Microsoft.AspNetCore.Http.Connections.Client.Internal; using Moq; using Newtonsoft.Json; diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Transport.cs b/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Transport.cs index 457b5b94d3..596a52bbee 100644 --- a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Transport.cs +++ b/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Transport.cs @@ -51,14 +51,14 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests return await next(); }); - Task AccessTokenFactory() + Task AccessTokenProvider() { callCount++; return Task.FromResult(callCount.ToString()); } await WithConnectionAsync( - CreateConnection(testHttpHandler, transportType: transportType, accessTokenFactory: AccessTokenFactory), + CreateConnection(testHttpHandler, transportType: transportType, accessTokenProvider: AccessTokenProvider), async (connection) => { await connection.StartAsync(TransferFormat.Text).OrTimeout(); diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/WebSocketsTransportTests.cs b/test/Microsoft.AspNetCore.SignalR.Tests/WebSocketsTransportTests.cs index dc615fb678..6d9767167b 100644 --- a/test/Microsoft.AspNetCore.SignalR.Tests/WebSocketsTransportTests.cs +++ b/test/Microsoft.AspNetCore.SignalR.Tests/WebSocketsTransportTests.cs @@ -49,7 +49,7 @@ namespace Microsoft.AspNetCore.SignalR.Tests httpOptions.UseDefaultCredentials = false; httpOptions.Credentials = Mock.Of(); httpOptions.Proxy = Mock.Of(); - httpOptions.WebSocketOptions = options => webSocketsOptions = options; + httpOptions.WebSocketConfiguration = options => webSocketsOptions = options; var webSocketsTransport = new WebSocketsTransport(httpConnectionOptions: httpOptions, loggerFactory: null); Assert.NotNull(webSocketsTransport);