Core.Thalos.BFF/Core.Cerberos.External/TrackingMechanismExtension.cs
Sergio Matias Urquin 44e353e386 Add project files.
2025-04-29 18:55:01 -06:00

19 lines
763 B
C#

using Microsoft.AspNetCore.Http;
namespace Core.Cerberos.External
{
public sealed class TrackingMechanismExtension(IHttpContextAccessor httpContextAccessor) : DelegatingHandler
{
private readonly IHttpContextAccessor _httpContextAccessor = httpContextAccessor ?? throw new ArgumentNullException(nameof(httpContextAccessor));
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
if (_httpContextAccessor.HttpContext != null)
{
request.Headers.Add("TrackingId", Guid.NewGuid().ToString());
}
return await base.SendAsync(request, cancellationToken).ConfigureAwait(false);
}
}
}