public ApiClientBuilder(IServiceCollection services, ApiClientOptions <TClient> options, ILogger logger) { if (services == null) { throw new ArgumentNullException(nameof(services)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } _services = services; _options = options; _logger = logger; SetDefaults(); }
public ApiClient(HttpClient client, ApiClientOptions <TClient> options, ILogger <TClient> logger) { _client = client; _logger = logger; // Get class name for demo purposes, the class name is shown in the log output anyway var name = TypeNameHelper.GetTypeDisplayName(typeof(TClient)); _logger.LogDebug($"{name} constructed"); _logger.LogDebug($"{name} BaseAddress: {client.BaseAddress}"); // Create the ApiResponseBuilder _apiResponseBuilder = new ApiResponseBuilder <TClient>(_logger); // new is glue is fine here _apiResponseBuilder.KnownErrorParsers = options.KnownErrorParsers; // Create a Cancellation token CancellationTokenSource = new CancellationTokenSource(); }