Beispiel #1
0
        private static void Register(IApplicationBuilder builder)
        {
            builder.Use(async(context, next) =>
            {
                var result = await SimplifyWebRequestMiddleware.Invoke(context);

                if (result == RequestHandlingStatus.RequestWasUnhandled)
                {
                    await next.Invoke();
                }
            });
        }
Beispiel #2
0
        /// <summary>
        /// Adds Simplify.Web to the OWIN pipeline as a non-terminal middleware without bootstrapper registrations
        /// </summary>
        /// <param name="builder">The OWIN builder.</param>
        /// <returns></returns>
        public static IApplicationBuilder UseSimplifyWebNonTerminalWithoutRegistrations(this IApplicationBuilder builder)
        {
            try
            {
                TerminalMiddleware = false;

                Register(builder);

                return(builder);
            }
            catch (Exception e)
            {
                SimplifyWebRequestMiddleware.ProcessOnException(e);

                throw;
            }
        }
Beispiel #3
0
        /// <summary>
        /// Adds Simplify.Web to the OWIN pipeline as a terminal middleware without bootstrapper registrations (useful when you want to control bootstrapper registrations manually)
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <returns></returns>
        public static IApplicationBuilder UseSimplifyWebWithoutRegistrations(this IApplicationBuilder builder)
        {
            try
            {
                ControllersRequestHandler.TerminalMiddleware = true;

                RegisterAsTerminal(builder);

                return(builder);
            }
            catch (Exception e)
            {
                SimplifyWebRequestMiddleware.ProcessOnException(e);

                throw;
            }
        }
Beispiel #4
0
        /// <summary>
        /// Performs Simplify.Web bootstrapper registrations and adds Simplify.Web to the OWIN pipeline as a non-terminal middleware
        /// </summary>
        /// <param name="builder">The OWIN builder.</param>
        /// <returns></returns>
        public static IApplicationBuilder UseSimplifyWebNonTerminal(this IApplicationBuilder builder)
        {
            try
            {
                TerminalMiddleware = false;
                BootstrapperFactory.CreateBootstrapper().Register();

                Register(builder);

                return(builder);
            }
            catch (Exception e)
            {
                SimplifyWebRequestMiddleware.ProcessOnException(e);

                throw;
            }
        }
Beispiel #5
0
        /// <summary>
        /// Performs Simplify.Web bootstrapper registrations and adds Simplify.Web to the OWIN pipeline as a terminal middleware
        /// </summary>
        /// <param name="builder">The OWIN builder.</param>
        /// <returns></returns>
        public static IApplicationBuilder UseSimplifyWeb(this IApplicationBuilder builder)
        {
            try
            {
                ControllersRequestHandler.TerminalMiddleware = true;
                BootstrapperFactory.CreateBootstrapper().Register();

                RegisterAsTerminal(builder);

                return(builder);
            }
            catch (Exception e)
            {
                SimplifyWebRequestMiddleware.ProcessOnException(e);

                throw;
            }
        }
Beispiel #6
0
 private static void RegisterAsTerminal(IApplicationBuilder builder)
 {
     builder.Run(async(context) => await SimplifyWebRequestMiddleware.Invoke(context).Task);
 }