in src/Microsoft.Atlas.CommandLine/OAuth2/HttpClientFactory.cs [41:83]
public HttpClient Create(HttpAuthentication auth)
{
HttpMessageHandler handler;
handler = _httpClientHandlerFactory.Create();
var settings = _settingsManager.ReadSettings();
var tokenCache = _settingsManager.GetTokenCache();
var tokenProvider = new TokenProvider(settings, tokenCache, _console);
if (auth != null)
{
handler = new AuthenticationTokenMessageHandler(() => tokenProvider.AcquireTokenAsync(auth))
{
InnerHandler = handler
};
}
handler = new LambdaDelegatingHandler(handler, SharedKeyAuthentication);
handler = new LambdaDelegatingHandler(handler, async (request, cancellationToken, next) =>
{
var sw = new Stopwatch();
try
{
// _logger.LogInformation("{Method} {Url}", request.Method, request.RequestUri);
_console.WriteLine($"{request.Method.ToString().Color(ConsoleColor.DarkGreen)} {request.RequestUri}");
sw.Start();
var response = await next(request, cancellationToken);
sw.Stop();
_console.WriteLine($"{response.StatusCode.ToString().Color((int)response.StatusCode >= 400 ? ConsoleColor.Red : ConsoleColor.Green)} {request.RequestUri} {sw.ElapsedMilliseconds}ms");
return response;
}
catch
{
Console.WriteLine($"{"FAIL".Color(ConsoleColor.DarkRed)} {request.RequestUri} {sw.ElapsedMilliseconds}ms");
throw;
}
});
return new HttpClient(handler);
}