btcpayserver-translator/Translator.Tests/QueueHttpMessageHandler.cs
Tim 45850a03d3
Some checks failed
Tests / unit-tests (push) Has been cancelled
[Feature] Add unit tests & CI workflow (#49)
Co-Authored-By: Timothé <183613235+teamssUTXO@users.noreply.github.com>
Co-authored-by: teamssUTXO <teamssUTXO@users.noreply.github.com>
Co-authored-by: r1ckstardev <r1ckstardev@users.noreply.github.com>
2026-04-25 16:37:14 -05:00

24 lines
746 B
C#

namespace BTCPayTranslator.Tests;
internal sealed class QueueHttpMessageHandler : HttpMessageHandler
{
private readonly Func<HttpRequestMessage, HttpResponseMessage> _responder;
public QueueHttpMessageHandler(Func<HttpRequestMessage, HttpResponseMessage> responder)
{
_responder = responder;
}
private int _callCount;
public int CallCount => Volatile.Read(ref _callCount);
public Uri? LastRequestUri { get; private set; }
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
Interlocked.Increment(ref _callCount);
LastRequestUri = request.RequestUri;
return Task.FromResult(_responder(request));
}
}