Add customer communication system
This commit is contained in:
@@ -73,6 +73,21 @@ public static class ServiceCollectionExtensions
|
||||
return new RetryPolicyHandler(logger, options.MaxRetryAttempts);
|
||||
});
|
||||
|
||||
services.AddHttpClient<ICustomerService, CustomerService>((serviceProvider, client) =>
|
||||
{
|
||||
var options = serviceProvider.GetRequiredService<IOptions<LittleShopClientOptions>>().Value;
|
||||
client.BaseAddress = new Uri(options.BaseUrl);
|
||||
client.Timeout = TimeSpan.FromSeconds(options.TimeoutSeconds);
|
||||
client.DefaultRequestHeaders.Add("Accept", "application/json");
|
||||
})
|
||||
.AddHttpMessageHandler<ErrorHandlingMiddleware>()
|
||||
.AddHttpMessageHandler(serviceProvider =>
|
||||
{
|
||||
var logger = serviceProvider.GetRequiredService<ILogger<RetryPolicyHandler>>();
|
||||
var options = serviceProvider.GetRequiredService<IOptions<LittleShopClientOptions>>().Value;
|
||||
return new RetryPolicyHandler(logger, options.MaxRetryAttempts);
|
||||
});
|
||||
|
||||
// Register the main client
|
||||
services.AddScoped<ILittleShopClient, LittleShopClient>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user