using System; using System.Linq; using System.Net.Http; using System.Threading; using System.Threading.Tasks; namespace Sony.Filtr.YouTube.Api { public class ApiKeyHttpClientHandler : DelegatingHandler { private readonly string _apiKey; public ApiKeyHttpClientHandler(string apiKey) { _apiKey = apiKey; } protected override async Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var newUrl = new Flurl.Url(request.RequestUri.ToString()).SetQueryParam("key", _apiKey); request.RequestUri = new Uri(newUrl); return await base.SendAsync(request, cancellationToken); } } }