Files
2025-06-18 21:58:48 +03:00

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);
}