Files
tgstation-server/tests/Tgstation.Server.Tests/Live/RateLimitRetryingApiClientFactory.cs
Jordan Dominion 9e8bdde30c Remove HttpClient abstractions
Now implement mocked `HttpMessageHandler`s as recommended: https://stackoverflow.com/a/36427274/3976486
2025-07-27 15:34:33 -04:00

38 lines
820 B
C#

using System;
using System.Net.Http;
using Tgstation.Server.Api;
using Tgstation.Server.Client;
namespace Tgstation.Server.Tests.Live
{
sealed class RateLimitRetryingApiClientFactory : IApiClientFactory
{
public IApiClient CreateApiClient(
Uri url,
ApiHeaders apiHeaders,
ApiHeaders tokenRefreshHeaders,
bool authless)
=> new RateLimitRetryingApiClient(
new HttpClient(),
url,
apiHeaders,
tokenRefreshHeaders,
authless);
/// <inheritdoc />
public IApiClient CreateApiClient(
Uri url,
ApiHeaders apiHeaders,
ApiHeaders tokenRefreshHeaders,
HttpMessageHandler handler,
bool disposeHandler,
bool authless) => new RateLimitRetryingApiClient(
new HttpClient(handler, disposeHandler),
url,
apiHeaders,
tokenRefreshHeaders,
authless);
}
}