mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-07-14 17:43:19 +01:00
9e8bdde30c
Now implement mocked `HttpMessageHandler`s as recommended: https://stackoverflow.com/a/36427274/3976486
24 lines
755 B
C#
24 lines
755 B
C#
using System;
|
|
using System.Net.Http;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Tgstation.Server.Common.Tests
|
|
{
|
|
/// <summary>
|
|
/// Simple mock <see cref="HttpMessageHandler"/>.
|
|
/// </summary>
|
|
public sealed class MockHttpMessageHandler : HttpMessageHandler
|
|
{
|
|
readonly Func<HttpRequestMessage, CancellationToken, Task<HttpResponseMessage>> callback;
|
|
|
|
public MockHttpMessageHandler(Func<HttpRequestMessage, CancellationToken, Task<HttpResponseMessage>> callback)
|
|
{
|
|
this.callback = callback ?? throw new ArgumentNullException(nameof(callback));
|
|
}
|
|
|
|
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
|
|
=> callback(request, cancellationToken);
|
|
}
|
|
}
|