Moved paper api client

This commit is contained in:
Marcel Baumgartner
2023-05-05 04:42:07 +02:00
parent 3a47a67ec4
commit 0fc2a06db5
6 changed files with 7 additions and 6 deletions

View File

@@ -1,49 +0,0 @@
using Moonlight.App.Exceptions;
using Newtonsoft.Json;
using RestSharp;
namespace Moonlight.App.Helpers;
public class PaperApiHelper
{
private string ApiUrl { get; set; }
public PaperApiHelper()
{
ApiUrl = "https://api.papermc.io/v2/projects/";
}
public async Task<T> Get<T>(string url)
{
RestClient client = new();
string requrl = "NONSET";
if (ApiUrl.EndsWith("/"))
requrl = ApiUrl + url;
else
requrl = ApiUrl + "/" + url;
RestRequest request = new(requrl, Method.Get);
request.AddHeader("Content-Type", "application/json");
var response = await client.ExecuteAsync(request);
if (!response.IsSuccessful)
{
if (response.StatusCode != 0)
{
throw new PaperException(
$"An error occured: ({response.StatusCode}) {response.Content}"
);
}
else
{
throw new Exception($"An internal error occured: {response.ErrorMessage}");
}
}
return JsonConvert.DeserializeObject<T>(response.Content!)!;
}
}