protected override async Task <HttpResponseMessage> SendAsync( HttpRequestMessage request, CancellationToken cancellationToken) { if (!_authenticator.Token.Valid) { var authenticated = await _authenticator.Authenticate(cancellationToken).ConfigureAwait(false); if (authenticated) { await _authenticator.ReassignToken(cancellationToken).ConfigureAwait(false); } } _authenticator.ApplyAuthentication(request); return(await base.SendAsync(request, cancellationToken).ConfigureAwait(false)); }