using System.Collections.Generic; using Tapeti.Config; using Tapeti.Flow.Default; namespace Tapeti.Flow { public class FlowMiddleware : ITapetiExtension { private readonly IFlowRepository flowRepository; public FlowMiddleware(IFlowRepository flowRepository) { this.flowRepository = flowRepository; } public void RegisterDefaults(IDependencyContainer container) { container.RegisterDefault(); container.RegisterDefault(); container.RegisterDefault(); container.RegisterDefaultSingleton(() => flowRepository ?? new NonPersistentFlowRepository()); container.RegisterDefaultSingleton(); } public IEnumerable GetMiddleware(IDependencyResolver dependencyResolver) { yield return new FlowBindingMiddleware(); yield return new FlowCleanupMiddleware(); } } }