Exemple #1
0
 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();
        }