Closed
Description
The constructor will invoke InitializeFromConfig, and the method will reference to HttpClientHandler
from base class ServiceClient
.
public Kubernetes(KubernetesClientConfiguration config, HttpClient httpClient, bool disposeHttpClient) : this(httpClient, disposeHttpClient)
{
ValidateConfig(config);
CaCerts = config.SslCaCerts;
SkipTlsVerify = config.SkipTlsVerify;
InitializeFromConfig(config);
}
But the related constructor of base class ServiceClient
only create new handler only if client is null, so there may be one path that makes HttpClientHandler
to be null.
protected void InitializeHttpClient(HttpClient httpClient, HttpClientHandler httpClientHandler, params DelegatingHandler[] handlers)
{
//Init lock object
lockUserAgent = new object();
if (httpClient == null)
{
if (httpClientHandler == null)
{
httpClientHandler = CreateRootHandler();
}
HttpClientHandler = httpClientHandler;
DelegatingHandler currentHandler = CreateHttpHandlerPipeline(httpClientHandler, handlers);
HttpClient = new HttpClient(currentHandler, false);
FirstMessageHandler = currentHandler;
}
else
{
HttpClient = httpClient;
}
//Set Default info in user agent
SetDefaultAgentInfo();
}
So could you please help to confirm is this expected ? Or How can I pass the httpClient in a correct way ? Thanks a lot.
Metadata
Metadata
Assignees
Labels
No labels