public ReverseDnsClient(IReverseDnsClientConfig config, IAuthenticationHeaderProvider authenticationHeaderProvider, ILogger <ReverseDnsClient> log) { _config = config; _authenticationHeaderProvider = authenticationHeaderProvider; _log = log; }
//use factory to prevent ambiguous reference to IAuthenticationHeaderProvider as each client //requires a different value for api key name, if multiple of these are reg'd could cause problems private static ReverseDnsClient ApiKeyReverseDnsClientFactory(IServiceProvider serviceProvider) { IReverseDnsClientConfig reverseDnsClientConfig = serviceProvider.GetRequiredService <IReverseDnsClientConfig>(); ILogger <ReverseDnsClient> logger = serviceProvider.GetRequiredService <ILogger <ReverseDnsClient> >(); IReverseDnsApiKeyConfig reverseDnsApiKeyConfig = serviceProvider.GetRequiredService <IReverseDnsApiKeyConfig>(); IApiKeyProvider apiKeyProvider = serviceProvider.GetRequiredService <IApiKeyProvider>(); ApiKeyAuthenticationHeaderProvider reverseDnsApiKeyAuthenticationHeaderProvider = new ApiKeyAuthenticationHeaderProvider(reverseDnsApiKeyConfig.ReverseDnsClaimsName, apiKeyProvider); return(new ReverseDnsClient(reverseDnsClientConfig, reverseDnsApiKeyAuthenticationHeaderProvider, logger)); }