/// <summary> /// Renders the error response. /// </summary> public static Task RenderErrorResponse(IOwinContext context, Exception error) { context.Response.ContentType = "text/html"; var template = new ErrorPageTemplate() { Exception = error, ErrorCode = context.Response.StatusCode, ErrorDescription = ((HttpStatusCode)context.Response.StatusCode).ToString(), IpAddress = context.Request.RemoteIpAddress, CurrentUserName = context.Request.User != null ? context.Request.User.Identity.Name : "", Url = context.Request.Uri.ToString(), Verb = context.Request.Method }; if (error is ParserException) { template.FileName = ((ParserException)error).FileName; template.LineNumber = ((ParserException)error).LineNumber; template.PositionOnLine = ((ParserException)error).PositionOnLine; } var text = template.TransformText(); return context.Response.WriteAsync(text); }
/// <summary> /// Renders the error response. /// </summary> public static async Task RenderErrorResponse(RedwoodRequestContext context, HttpStatusCode code, Exception error) { context.OwinContext.Response.StatusCode = (int)code; context.OwinContext.Response.ContentType = "text/html"; var template = new ErrorPageTemplate() { Error = error, ErrorCode = (int)code, ErrorDescription = code.ToString(), IpAddress = context.OwinContext.Request.RemoteIpAddress, CurrentUserName = context.OwinContext.Request.User.Identity.Name, Url = context.OwinContext.Request.Uri.ToString(), Verb = context.OwinContext.Request.Method }; if (error is ParserException) { template.FileName = ((ParserException)error).FileName; template.LineNumber = ((ParserException)error).Position.LineNumber; template.PositionOnLine = ((ParserException)error).Position.PositionOnLine; } var text = template.TransformText(); await context.OwinContext.Response.WriteAsync(text); }