public RescueFilter(IPipe <TRescueContext> rescuePipe, IExceptionFilter exceptionFilter, RescueContextFactory <TContext, TRescueContext> rescueContextFactory) { _rescuePipe = rescuePipe; _exceptionFilter = exceptionFilter; _rescueContextFactory = rescueContextFactory; }
public RescuePipeSpecification(RescueContextFactory <TContext, TRescue> rescueContextFactory) { _rescueContextFactory = rescueContextFactory; _pipeConfigurator = new PipeConfigurator <TRescue>(); _contextPipeConfigurator = new ContextPipeConfigurator(_pipeConfigurator); }
/// <summary> /// Rescue exceptions via the alternate pipe /// </summary> /// <typeparam name="TContext"></typeparam> /// <typeparam name="TRescue"></typeparam> /// <param name="configurator"></param> /// <param name="rescuePipe"></param> /// <param name="rescueContextFactory">Factory method to convert the pipe context to the rescue pipe context</param> /// <param name="configure"></param> public static void UseRescue <TContext, TRescue>(this IPipeConfigurator <TContext> configurator, IPipe <TRescue> rescuePipe, RescueContextFactory <TContext, TRescue> rescueContextFactory, Action <IRescueConfigurator <TContext, TRescue> > configure = null) where TContext : class, PipeContext where TRescue : class, TContext { UseRescue(configurator, rescueContextFactory, x => { configure?.Invoke(x); x.UseFork(rescuePipe); }); }
/// <summary> /// Rescue exceptions via the alternate pipe /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="TRescue"></typeparam> /// <param name="configurator"></param> /// <param name="rescuePipe"></param> /// <param name="rescueContextFactory">Factory method to convert the pipe context to the rescue pipe context</param> /// <param name="configure"></param> public static void UseRescue <T, TRescue>(this IPipeConfigurator <T> configurator, IPipe <TRescue> rescuePipe, RescueContextFactory <T, TRescue> rescueContextFactory, Action <IRescueConfigurator> configure = null) where T : class, PipeContext where TRescue : class, PipeContext { if (configurator == null) { throw new ArgumentNullException(nameof(configurator)); } var specification = new RescuePipeSpecification <T, TRescue>(rescuePipe, rescueContextFactory); configure?.Invoke(specification); configurator.AddPipeSpecification(specification); }
public RescuePipeSpecification(IPipe <TRescue> rescuePipe, RescueContextFactory <TContext, TRescue> rescueContextFactory) { _rescuePipe = rescuePipe; _rescueContextFactory = rescueContextFactory; }