public void Handle(HttpStatusCode statusCode, NancyContext context) { var viewRenderer = new DefaultViewRenderer(viewFactory); var response = viewRenderer.RenderView(context, "404"); context.Response = response; context.Response.StatusCode = HttpStatusCode.NotFound; }
private void RenderView(NancyContext context, string viewName, HttpStatusCode statusCode, object model) { var renderer = new DefaultViewRenderer(_viewFactory); var response = renderer.RenderView(context, viewName, model); context.Response = response; context.Response.StatusCode = statusCode; }
public void Handle(HttpStatusCode statusCode, NancyContext context) { IViewRenderer renderer = new DefaultViewRenderer(factory); Response response; switch (statusCode) { case HttpStatusCode.NotFound: response = renderer.RenderView(context, "Error/error.cshtml", new Error("404", "The requested page was not found.")); break; case HttpStatusCode.Forbidden: response = renderer.RenderView(context, "Error/error.cshtml", new Error("403","You don't have access to this page.")); break; case HttpStatusCode.Unauthorized: response = renderer.RenderView(context, "Error/error.cshtml", new Error("401","You are not allowed to view this page.")); break; case HttpStatusCode.InternalServerError: response = renderer.RenderView(context, "Error/error.cshtml", new Error("500","An internal error occured.")); object exceptionKey; object exceptionObject; context.Items.TryGetValue(NancyEngine.ERROR_EXCEPTION, out exceptionObject); context.Items.TryGetValue(NancyEngine.ERROR_KEY, out exceptionKey); if (exceptionKey != null) Console.WriteLine(exceptionKey.ToString()); if (exceptionObject != null) Console.WriteLine(exceptionObject.ToString()); break; default: response = renderer.RenderView(context, "Error/error.cshtml", new Error(":(","How did I end up here?" )); break; } response.StatusCode = statusCode; context.Response = response; }
public DefaultViewRendererFixture() { this.factory = A.Fake<IViewFactory>(); this.renderer = new DefaultViewRenderer(this.factory); }