mirror of
https://github.com/AlexMacocian/SystemExtensions.git
synced 2026-07-16 14:39:28 +00:00
16a9208e07
Changed test project to .net5 Changed ThreadPool to use CancellationTokens
30 lines
876 B
C#
30 lines
876 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);
|
|
}
|
|
}
|
|
}
|
|
}
|