Files
amacocian e6a06915cd Improve IHttpClient factories (#20)
Codestyle fixes
Setup CODEOWNERS
Setup dependabot
2022-09-06 15:49:07 +02:00

29 lines
798 B
C#

using System;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
namespace SystemExtensionsTests.Utils;
public sealed class MockHttpMessageHandler : HttpMessageHandler
{
public Func<HttpRequestMessage, HttpResponseMessage> ResponseResolver { get; set; }
public Func<HttpRequestMessage, Task<HttpResponseMessage>> ResponseResolverAsync { get; set; }
public MockHttpMessageHandler()
{
}
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
if (this.ResponseResolver is object)
{
return Task.FromResult(this.ResponseResolver(request));
}
else
{
return this.ResponseResolverAsync(request);
}
}
}