/// <summary> /// Adds the veracity api as controllers for easy access from javascript /// </summary> /// <param name="builder"></param> /// <param name="baseUrl"></param> /// <returns></returns> public static IMvcBuilder AddVeracityApiProxies <TErrorHandler, TUserNameResolver>(this IMvcBuilder builder, string baseUrl, string authenticationSchemes) where TUserNameResolver : class, IUserNameResolver where TErrorHandler : class, IErrorHandler { builder.Services.AddScoped <Stardust.Interstellar.Rest.Common.ILogger, InternalLogger>(); builder.Services .AddSingleton <IUserNameResolver, TUserNameResolver>() .AddSingleton <IErrorHandler, TErrorHandler>(); ClientFactory.SetServiceProviderFactory(() => builder.Services.BuildServiceProvider()); builder.Services.SetAuthenticationSchemes(authenticationSchemes); builder.AddAsController(s => s.CreateRestClient <IMy>(baseUrl)) .AddAsController(s => s.CreateRestClient <IThis>(baseUrl)) .UseInterstellar(); return(builder); }