Files
FictionArchive/FictionArchive.Service.TranslationService.Tests/TestSupport/TestHttpMessageHandler.cs
gamer147 d5a9529d6f
Some checks failed
CI / build-backend (pull_request) Failing after 1m48s
CI / build-frontend (pull_request) Successful in 1m27s
[FA-misc] Translation engine work
2026-08-25 10:38:27 -04:00

26 lines
879 B
C#

namespace FictionArchive.Service.TranslationService.Tests.TestSupport;
public sealed class TestHttpMessageHandler : HttpMessageHandler
{
private readonly Func<HttpRequestMessage, HttpResponseMessage> _responder;
public List<HttpRequestMessage> Requests { get; } = new();
public List<string> RequestBodies { get; } = new();
public TestHttpMessageHandler(Func<HttpRequestMessage, HttpResponseMessage> responder)
{
_responder = responder;
}
protected override async Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request, CancellationToken cancellationToken)
{
var bodyText = request.Content is null
? string.Empty
: await request.Content.ReadAsStringAsync(cancellationToken);
Requests.Add(request);
RequestBodies.Add(bodyText);
return _responder(request);
}
}