public AcmeClient(HttpClient httpClient, AcmeClientNonceHttpHandler nonceHandler, AcmeDirectory directory) : base() { this.httpClient = httpClient; this.nonceHandler = nonceHandler; this.directory = directory; }
private static async Task <AcmeClient> CreateAsync <TUri>(TUri directoryUri, Func <TUri, HttpRequestMessage> httpGetFactory, HttpMessageHandler httpHandler, bool disposeHandler, CancellationToken cancelToken = default) { if (httpHandler is null) { httpHandler = new HttpClientHandler(); disposeHandler = true; } var nonceHandler = new AcmeClientNonceHttpHandler(httpHandler); var userAgentHandler = new AcmeClientHttpUserAgentHandler(nonceHandler); var httpClient = new HttpClient(userAgentHandler, disposeHandler); var directory = await GetAcmeDirectoryAsync(directoryUri, httpClient, httpGetFactory, cancelToken).ConfigureAwait(false); return(new AcmeClient(httpClient, nonceHandler, directory)); }