Files
Core.Thalos.BuildingBlocks/Core.Cerberos.Adapters/Handlers/AuthenticatedHttpClientHandler.cs
Sergio Matias Urquin d5925a6476 Add project files.
2025-04-29 18:57:20 -06:00

30 lines
1.0 KiB
C#

// ***********************************************************************
// <copyright file="AuthenticatedHttpClientHandler.cs">
// Heath
// </copyright>
// ***********************************************************************
using Core.Cerberos.Adapters.Contracts;
namespace Core.Cerberos.Adapters.Handlers
{
/// <summary>
/// Class to inject the token in all requests.
/// </summary>
public class AuthenticatedHttpClientHandler(ITokenProvider tokenProvider) : DelegatingHandler
{
private readonly ITokenProvider _tokenProvider = tokenProvider;
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
var token = _tokenProvider.GetToken();
if (!string.IsNullOrEmpty(token))
{
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
}
return await base.SendAsync(request, cancellationToken);
}
}
}