private static AlpacaCryptoDataClientConfiguration withFactoryCreatedHttpClient(
     this AlpacaCryptoDataClientConfiguration configuration,
     HttpClient httpClient)
 {
     configuration.HttpClient = httpClient;
     return(configuration);
 }
 public static IServiceCollection AddAlpacaCryptoDataClient(
     this IServiceCollection services,
     AlpacaCryptoDataClientConfiguration configuration) =>
 services
 .AddHttpClient <IAlpacaCryptoDataClient>()
 .AddTypedClient <IAlpacaCryptoDataClient>(
     httpClient => new AlpacaCryptoDataClient(
         configuration.withFactoryCreatedHttpClient(httpClient)))
 .AddPolicyHandler(configuration
                   .EnsureNotNull(nameof(configuration))
                   .ThrottleParameters.GetAsyncPolicy())
 .Services;
 public static IAlpacaCryptoDataClient GetClient(
     this AlpacaCryptoDataClientConfiguration configuration) =>
 new AlpacaCryptoDataClient(configuration);