Example #1
0
    /// <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);
    }
Example #2
0
    /// <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);
    }
Example #3
0
 /// <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>());
 }
Example #4
0
 /// <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());
 }