Exemplo n.º 1
0
        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>());
        }
Exemplo n.º 2
0
 private static IServiceCollection AddProxy(
     this IServiceCollection services,
     ProxyConnectionInfo proxyConnection
     ) => services
 .AddScoped(serv => proxyConnection)
 .AddScoped <TicketingClient, ProxyClient>()
 .AddScoped <Connector, ProxyConnector>();