示例#1
0
        public void Handle(Nancy.HttpStatusCode statusCode, Nancy.NancyContext context)
        {
            var response = RenderView(context, "CustomErrorPage");

            response.StatusCode = statusCode;
            context.Response    = response;
        }
示例#2
0
 public bool HandlesStatusCode(Nancy.HttpStatusCode statusCode,
                               Nancy.NancyContext context)
 {
     return(statusCode == Nancy.HttpStatusCode.NotFound ||
            statusCode == Nancy.HttpStatusCode.BadRequest ||
            statusCode == Nancy.HttpStatusCode.InternalServerError);
 }
示例#3
0
 public bool HandlesStatusCode(Nancy.HttpStatusCode statusCode, Nancy.NancyContext context)
 {
     if (statusCode == Nancy.HttpStatusCode.InternalServerError)
     {
         return(false);
     }
     return(false);
 }
示例#4
0
        public void Handle(Nancy.HttpStatusCode statusCode,
                           Nancy.NancyContext context)
        {
            dynamic model = new ExpandoObject();

            model.IsAuthenticated = context.CurrentUser.IsAuthenticated();
            model.JournalUser     = (JournalUserIdentity)context.CurrentUser;
            var response = RenderView(context, "Error/" + (int)statusCode, model);

            response.StatusCode = statusCode;
            context.Response    = response;
        }
示例#5
0
 public static Nancy.Response AsErrorObject(Nancy.HttpStatusCode statusCode, object data)
 {
     return(new Nancy.Response
     {
         StatusCode = statusCode,
         ContentType = "application/json",
         Contents = stream => (new StreamWriter(stream)
         {
             AutoFlush = true
         }).Write(JsonConvert.SerializeObject(data, Formatting.Indented))
     });
 }
示例#6
0
        public static Error ToError(this IEnumerable <string> errors, string target, HttpStatusCode statusCode)
        {
            var details = errors.Select(e => new Error
            {
                Code    = statusCode.ToString(),
                Message = e,
                Target  = target
            }).ToList();

            var error = new Error
            {
                Message = details.Count > 1 ? "Multiple Errors" : details.FirstOrDefault()?.Message,
                Details = details.ToArray()
            };

            return(error);
        }
示例#7
0
        public static string GetMessage(this Nancy.HttpStatusCode statusCode)
        {
            switch (statusCode)
            {
            case Nancy.HttpStatusCode.OK:
                return("OK");

            case Nancy.HttpStatusCode.Unauthorized:
                return("Unauthorized");

            case Nancy.HttpStatusCode.NotFound:
                return("Not found");

            case Nancy.HttpStatusCode.Forbidden:
                return("Forbidden");

            default:
                return("Technical error");
            }
        }
示例#8
0
 public static bool IsOK(this Nancy.HttpStatusCode code)
 {
     return(code == Nancy.HttpStatusCode.OK);
 }