1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2025-03-06 03:18:47 +00:00
Lidarr/NzbDrone.Api/ErrorManagement/ApiException.cs

39 lines
965 B
C#
Raw Normal View History

using System;
using Nancy;
using Nancy.Responses;
2013-02-23 12:35:26 -08:00
using NzbDrone.Api.Extensions;
2013-02-18 17:13:42 -08:00
namespace NzbDrone.Api.ErrorManagement
{
public abstract class ApiException : Exception
{
public object Content { get; private set; }
public HttpStatusCode StatusCode { get; private set; }
protected ApiException(HttpStatusCode statusCode, object content = null)
: base(GetMessage(statusCode, content))
{
StatusCode = statusCode;
Content = content;
}
public JsonResponse<ErrorModel> ToErrorResponse()
{
return new ErrorModel(this).AsResponse(StatusCode);
}
private static string GetMessage(HttpStatusCode statusCode, object content)
{
var result = statusCode.ToString();
if (content != null)
{
result = result + " :" + content;
}
return result;
}
}
}