using DnsmasqWebUI.Client.Http.Abstractions; using DnsmasqWebUI.Services.Abstractions; using System.Net.Http.Json; namespace DnsmasqWebUI.Client.Http; public sealed class ReloadClient : IReloadClient { private readonly HttpClient _http; public ReloadClient(HttpClient http) => _http = http; public async Task ReloadAsync(CancellationToken ct = default) { var response = await _http.PostAsync("api/reload", null, ct); response.EnsureSuccessStatusCode(); return await response.Content.ReadFromJsonAsync(ct) ?? throw new InvalidOperationException("Unexpected null from api/reload."); } }