2025-07-23 16:18:05 +03:30

24 lines
764 B
C#

using System.Net.Http.Headers;
using Microsoft.AspNetCore.Http;
namespace BuildingBlocks.Jwt;
public class AuthHeaderHandler : DelegatingHandler
{
private readonly IHttpContextAccessor _httpContext;
public AuthHeaderHandler(IHttpContextAccessor httpContext)
{
_httpContext = httpContext;
}
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,
CancellationToken cancellationToken)
{
var token = (_httpContext?.HttpContext?.Request.Headers["Authorization"])?.ToString();
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token?.Replace("Bearer ", "", StringComparison.CurrentCulture));
return base.SendAsync(request, cancellationToken);
}
}