From 0d95454ad9aecd5e1a910a420317ef60cd1ae298 Mon Sep 17 00:00:00 2001 From: Einar Omang Date: Wed, 10 Jun 2020 08:45:53 +0200 Subject: [PATCH] Option to not set http client in AddCogniteClient --- ExtractorUtils/Cognite/CogniteUtils.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/ExtractorUtils/Cognite/CogniteUtils.cs b/ExtractorUtils/Cognite/CogniteUtils.cs index b4557d20..69b75963 100644 --- a/ExtractorUtils/Cognite/CogniteUtils.cs +++ b/ExtractorUtils/Cognite/CogniteUtils.cs @@ -260,11 +260,21 @@ static IAsyncPolicy GetTimeoutPolicy() /// Cognite API (enabled in debug mode) /// If true, a metrics collector is created and used by the client /// to report metrics on the number and duration of API requests - public static void AddCogniteClient(this IServiceCollection services, string appId, bool setLogger = false, bool setMetrics = false) + /// Default true. If false is not added to the + /// . If this is false it must be added before this method is called. + public static void AddCogniteClient(this IServiceCollection services, + string appId, + bool setLogger = false, + bool setMetrics = false, + bool setHttpClient = true) { - services.AddHttpClient(c => c.Timeout = Timeout.InfiniteTimeSpan) - .AddPolicyHandler((provider, message) => { return GetRetryPolicy(provider.GetRequiredService>()); }) - .AddPolicyHandler(GetTimeoutPolicy()); + if (setHttpClient) + { + services.AddHttpClient(c => c.Timeout = Timeout.InfiniteTimeSpan) + .AddPolicyHandler((provider, message) => { return GetRetryPolicy(provider.GetRequiredService>()); }) + .AddPolicyHandler(GetTimeoutPolicy()); + } + services.AddHttpClient(); services.AddSingleton(); services.AddTransient(provider => {