mirror of
https://github.com/Readarr/Readarr.git
synced 2026-03-28 18:05:51 -04:00
New: Lidarr to Readarr
This commit is contained in:
39
src/Readarr.Http/Exceptions/ApiException.cs
Normal file
39
src/Readarr.Http/Exceptions/ApiException.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using Nancy;
|
||||
using Nancy.Responses;
|
||||
using Readarr.Http.ErrorManagement;
|
||||
using Readarr.Http.Extensions;
|
||||
|
||||
namespace Readarr.Http.Exceptions
|
||||
{
|
||||
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(NancyContext context)
|
||||
{
|
||||
return new ErrorModel(this).AsResponse(context, StatusCode);
|
||||
}
|
||||
|
||||
private static string GetMessage(HttpStatusCode statusCode, object content)
|
||||
{
|
||||
var result = statusCode.ToString();
|
||||
|
||||
if (content != null)
|
||||
{
|
||||
result = $"{result}: {content}";
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
16
src/Readarr.Http/Exceptions/InvalidApiKeyException.cs
Normal file
16
src/Readarr.Http/Exceptions/InvalidApiKeyException.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace Readarr.Http.Exceptions
|
||||
{
|
||||
public class InvalidApiKeyException : Exception
|
||||
{
|
||||
public InvalidApiKeyException()
|
||||
{
|
||||
}
|
||||
|
||||
public InvalidApiKeyException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user