Esempio n. 1
0
        private static IPipeLineBuilder UseHandlerInterface(IPipeLineBuilder pipeline, Type handler)
        {
            return(pipeline.Use(next =>
            {
                return async context =>
                {
                    var middleware = pipeline.HandlerProvider.GetHandler(handler);
                    if (middleware == null)
                    {
                        // The factory returned null, it's a broken implementation
                        throw new InvalidOperationException();
                    }

                    try
                    {
                        await middleware.HandleAsync(context, next);
                    }
                    catch
                    {
                    }
                    finally
                    {
                    }
                };
            }));
        }
Esempio n. 2
0
 public App(IDirectoryWatcher watcher, IPipeLineBuilder <IFileInfo> pipeLineBuilder, CriticalAndCancelExceptionHandler criticalAndCancelExceptionHandler, FileDeleteHandler fileDaleteHandler, FileSendHandler fileSendHandler)
 {
     _watcher         = watcher;
     _pipeLineBuilder = pipeLineBuilder;
     _criticalAndCancelExceptionHandler = criticalAndCancelExceptionHandler;
     _fileDaleteHandler = fileDaleteHandler;
     _fileSendHandler   = fileSendHandler;
 }
Esempio n. 3
0
        public static IPipeLineBuilder UseHandler(this IPipeLineBuilder pipeline, Type handler)
        {
            if (typeof(IHandler).GetTypeInfo().IsAssignableFrom(handler.GetTypeInfo()))
            {
                return(UseHandlerInterface(pipeline, handler));
            }

            throw new NotImplementedException("Can only handle intereface for now");
        }
Esempio n. 4
0
 public static IPipeLineBuilder UseHandler <T>(this IPipeLineBuilder pipeline)
 {
     return(UseHandler(pipeline, typeof(T)));
 }