public static IServiceCollection AddProxyConnector( this IServiceCollection services, ProxyConfig config) { ProxyConnectionInfo connectionInfo; switch (config.AuthType) { case ProxyConfig.CertificateAuthType: connectionInfo = new ProxyConnectionInfo(config.Endpoint, config.Certificate.Thumbprint); break; case ProxyConfig.VaultCertificateAuthType: connectionInfo = new ProxyConnectionInfo( config.Endpoint, new KeyVaultConfiguration( config.VaultCertificate.ClientId, config.VaultCertificate.ClientSecret, config.VaultCertificate.VaultName ), config.VaultCertificate.CertName ); break; default: connectionInfo = new ProxyConnectionInfo(config.Endpoint); break; } return(services .AddScoped(serv => connectionInfo) .AddScoped <TicketingClient, ProxyClient>() .AddScoped <Connector, ProxyConnector>()); }
private static IServiceCollection AddProxy( this IServiceCollection services, ProxyConnectionInfo proxyConnection ) => services .AddScoped(serv => proxyConnection) .AddScoped <TicketingClient, ProxyClient>() .AddScoped <Connector, ProxyConnector>();