added Nancy pipelines for error handling,

cleaned up container registrations.
This commit is contained in:
kay.one
2013-01-18 20:46:43 -08:00
parent acef97b79f
commit c184595935
22 changed files with 333 additions and 201 deletions

View File

@@ -0,0 +1,33 @@
using System.Linq;
using Nancy;
using Nancy.ErrorHandling;
using NzbDrone.Api.QualityType;
namespace NzbDrone.Api.ErrorManagment
{
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 (context.Response.ContentType == "text/html" || context.Response.ContentType == "text/plain")
context.Response = new ErrorModel
{
Message = statusCode.ToString()
}.AsResponse(statusCode);
}
}
}