namespace MangaReader.Core.Http; public class HttpService(HttpClient httpClient) : IHttpService { public Task GetStringAsync(string url, CancellationToken cancellationToken) => GetStringAsync(url, new Dictionary(), cancellationToken); public async Task GetStringAsync(string url, IDictionary headers, CancellationToken cancellationToken) { using HttpRequestMessage request = new(HttpMethod.Get, url); foreach (KeyValuePair header in headers) { request.Headers.TryAddWithoutValidation(header.Key, header.Value); } //httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("MangaReader/1.0"); httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0"); using HttpResponseMessage response = await httpClient.SendAsync(request, cancellationToken); response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(cancellationToken); } }