/// <summary> /// Processes the HTTP request for controllers. /// </summary> /// <param name="resolver">THE DI container resolver</param> /// <param name="context">The context.</param> /// <returns></returns> public RequestHandlingResult ProcessRequest(IDIResolver resolver, HttpContext context) { var result = _controllersProcessor.ProcessControllers(resolver, context); switch (result) { case ControllersProcessorResult.Ok: return(_pageProcessor.ProcessPage(resolver, context)); case ControllersProcessorResult.Http401: context.Response.StatusCode = 401; _redirector.SetLoginReturnUrlFromCurrentUri(); break; case ControllersProcessorResult.Http403: context.Response.StatusCode = 403; break; case ControllersProcessorResult.Http404: if (ApplicationBuilderExtensions.TerminalMiddleware) { context.Response.StatusCode = 404; } else { return(RequestHandlingResult.UnhandledResult()); } break; } return(RequestHandlingResult.HandledResult()); }