/// <summary>
 /// Instantiate the transport class with the given configuratio and requester
 /// </summary>
 /// <param name="config">Algolia Config</param>
 /// <param name="httpClient">An implementation of http requester <see cref="IHttpRequester"/> </param>
 public HttpTransport(AlgoliaConfig config, IHttpRequester httpClient)
 {
     _algoliaConfig = config ?? throw new ArgumentNullException(nameof(config));
     _httpClient    = httpClient ?? throw new ArgumentNullException(nameof(httpClient));
     _serializer    = new DefaultSerializer();
     _retryStrategy = new RetryStrategy(config);
 }
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="config">Client's configuration</param>
 public RetryStrategy(AlgoliaConfig config)
 {
     _hosts = config.CustomHosts ?? config.DefaultHosts;
 }