mirror of
https://github.com/Cleanuparr/Cleanuparr.git
synced 2026-01-16 09:48:13 -05:00
44 lines
1.6 KiB
C#
44 lines
1.6 KiB
C#
using Common.Enums;
|
|
|
|
namespace Infrastructure.Http.DynamicHttpClientSystem;
|
|
|
|
/// <summary>
|
|
/// Factory service to manage dynamic HttpClient creation
|
|
/// </summary>
|
|
public interface IDynamicHttpClientFactory
|
|
{
|
|
/// <summary>
|
|
/// Creates an HttpClient with the specified configuration and registers it for future use
|
|
/// </summary>
|
|
HttpClient CreateClient(string clientName, HttpClientConfig config);
|
|
|
|
/// <summary>
|
|
/// Creates an HttpClient using a previously registered configuration
|
|
/// </summary>
|
|
HttpClient CreateClient(string clientName);
|
|
|
|
/// <summary>
|
|
/// Registers a configuration for later use
|
|
/// </summary>
|
|
void RegisterConfiguration(string clientName, HttpClientConfig config);
|
|
|
|
/// <summary>
|
|
/// Registers a retry-enabled HttpClient configuration
|
|
/// </summary>
|
|
void RegisterRetryClient(string clientName, int timeout, RetryConfig retryConfig, CertificateValidationType certificateType);
|
|
|
|
/// <summary>
|
|
/// Registers a Deluge-specific HttpClient configuration
|
|
/// </summary>
|
|
void RegisterDelugeClient(string clientName, int timeout, RetryConfig retryConfig, CertificateValidationType certificateType);
|
|
|
|
/// <summary>
|
|
/// Registers a configuration for a download client
|
|
/// </summary>
|
|
void RegisterDownloadClient(string clientName, int timeout, HttpClientType clientType, RetryConfig retryConfig, CertificateValidationType certificateType);
|
|
|
|
/// <summary>
|
|
/// Unregisters a configuration
|
|
/// </summary>
|
|
void UnregisterConfiguration(string clientName);
|
|
} |