/// <summary> /// Adds a custom HttpTransformerFactory to DI /// </summary> /// <param name="builder"></param> /// <typeparam name="T"></typeparam> /// <returns></returns> public static BffBuilder AddHttpTransformerFactory <T>(this BffBuilder builder) where T : class, IHttpTransformerFactory { builder.Services.AddTransient <IHttpTransformerFactory, T>(); return(builder); }
/// <summary> /// Adds the services required for the YARP HTTP forwarder /// </summary> /// <param name="builder"></param> /// <returns></returns> public static BffBuilder AddRemoteApis(this BffBuilder builder) { builder.Services.AddHttpForwarder(); builder.Services.TryAddSingleton <IHttpMessageInvokerFactory, DefaultHttpMessageInvokerFactory>(); builder.Services.TryAddSingleton <IHttpTransformerFactory, DefaultHttpTransformerFactory>(); return(builder); }
/// <summary> /// Adds entity framework core support for user session store. /// </summary> /// <param name="bffBuilder"></param> /// <param name="action"></param> /// <returns></returns> public static BffBuilder AddEntityFrameworkServerSideSessions(this BffBuilder bffBuilder, Action <DbContextOptionsBuilder> action) { bffBuilder.Services.AddDbContext <SessionDbContext>(action); return(bffBuilder.AddServerSideSessions <UserSessionStore>()); }
/// <summary> /// Adds entity framework core support for user session store. /// </summary> /// <param name="bffBuilder"></param> /// <param name="action"></param> /// <returns></returns> public static BffBuilder AddEntityFrameworkServerSideSessions(this BffBuilder bffBuilder, Action <IServiceProvider, DbContextOptionsBuilder> action) { bffBuilder.Services.AddDbContext <SessionDbContext>(action); bffBuilder.Services.AddTransient <IUserSessionStore, UserSessionStore>(); return(bffBuilder.AddServerSideSessions()); }