using Nancy; using Nancy.ErrorHandling; using NzbDrone.Api.Extensions; namespace NzbDrone.Api.ErrorManagement { public class ErrorHandler : IStatusCodeHandler { public bool HandlesStatusCode(HttpStatusCode statusCode, NancyContext context) { return true; } public void Handle(HttpStatusCode statusCode, NancyContext context) { if (statusCode == HttpStatusCode.SeeOther || statusCode == HttpStatusCode.OK) return; if (statusCode == HttpStatusCode.Continue) { context.Response = new Response { StatusCode = statusCode }; return; } if (statusCode == HttpStatusCode.Unauthorized) return; if (context.Response.ContentType == "text/html" || context.Response.ContentType == "text/plain") context.Response = new ErrorModel { Message = statusCode.ToString() }.AsResponse(statusCode); } } }