mirror of
https://github.com/Cleanuparr/Cleanuparr.git
synced 2025-12-25 15:07:55 -05:00
37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
namespace Cleanuparr.Infrastructure.Http.DynamicHttpClientSystem;
|
|
|
|
/// <summary>
|
|
/// Store interface for managing HttpClient configurations dynamically
|
|
/// </summary>
|
|
public interface IHttpClientConfigStore
|
|
{
|
|
/// <summary>
|
|
/// Tries to get a configuration for the specified client name
|
|
/// </summary>
|
|
bool TryGetConfiguration(string clientName, out HttpClientConfig config);
|
|
|
|
/// <summary>
|
|
/// Adds or updates a configuration for the specified client name
|
|
/// </summary>
|
|
void AddConfiguration(string clientName, HttpClientConfig config);
|
|
|
|
/// <summary>
|
|
/// Removes a configuration for the specified client name
|
|
/// </summary>
|
|
void RemoveConfiguration(string clientName);
|
|
|
|
/// <summary>
|
|
/// Adds or updates a retry configuration for the specified client name
|
|
/// </summary>
|
|
void AddRetryConfiguration(string clientName, RetryConfig retryConfig);
|
|
|
|
/// <summary>
|
|
/// Gets all currently registered configurations
|
|
/// </summary>
|
|
IEnumerable<KeyValuePair<string, HttpClientConfig>> GetAllConfigurations();
|
|
|
|
/// <summary>
|
|
/// Updates multiple configurations atomically
|
|
/// </summary>
|
|
void UpdateConfigurations(IEnumerable<KeyValuePair<string, HttpClientConfig>> configurations);
|
|
} |