using System.Net; using System.Text; namespace ClawdDotNet.Core.Tests.Deploymentcenter; /// Fängt die letzte Anfrage ab und antwortet fest, ohne Netzwerkzugriff. internal sealed class CapturingHandler( HttpStatusCode status = HttpStatusCode.OK, string responseBody = """{"status":"success"}""") : HttpMessageHandler { public HttpRequestMessage? LastRequest { get; private set; } public string? LastBody { get; private set; } public int Calls { get; private set; } protected override async Task SendAsync( HttpRequestMessage request, CancellationToken cancellationToken) { Calls++; LastRequest = request; if (request.Content is not null) LastBody = await request.Content.ReadAsStringAsync(cancellationToken); return new HttpResponseMessage(status) { Content = new StringContent(responseBody, Encoding.UTF8, "application/json") }; } }