mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-04-05 11:54:42 +01:00
Now implement mocked `HttpMessageHandler`s as recommended: https://stackoverflow.com/a/36427274/3976486
38 lines
820 B
C#
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);
|
|
}
|
|
}
|