26 lines
879 B
C#
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);
|
|
}
|
|
}
|