using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Net.Http.Headers; namespace HttpClientStudy.Core.CustomHttpClient { /// /// oken管理中间件 /// public class TokenDelegatingHandler : DelegatingHandler { protected override HttpResponseMessage Send(HttpRequestMessage request, CancellationToken cancellationToken) { Console.WriteLine("TokenDelegatingHandler -> Send -> Added Token"); if (request.Headers.Authorization is null) { request.Headers.Add(HeaderNames.Authorization, "Bearer " + "a.b.c"); } HttpResponseMessage response = base.Send(request, cancellationToken); Console.WriteLine("TokenDelegatingHandler -> Send -> After"); return response; } protected override async Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { Console.WriteLine("TokenDelegatingHandler -> SendAsync -> Before"); HttpResponseMessage response = await base.SendAsync(request, cancellationToken); Console.WriteLine("TokenDelegatingHandler -> SendAsync -> After"); return response; } } }