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);