discord/Discord/REST/RESTClient.cs
2024-06-09 18:51:48 +12:00

45 lines
1.1 KiB
C#

using System.Net.Http.Json;
namespace Discord.REST
{
public class Client
{
private string token;
private HttpClient client;
public Client(string token) {
client = new HttpClient();
this.token = token;
SetHeaders();
}
public void SetHeaders()
{
client.DefaultRequestHeaders.Add("Authorization", token);
}
public Task<string> GetString(string url)
{
return client.GetStringAsync(url);
}
public async Task<string> PostString<D>(string url, D data)
{
return await (await client.PostAsJsonAsync(url, data)).Content.ReadAsStringAsync();
}
public async Task<T?> Get<T>(string url)
{
string text = await GetString(url);
return JSON.Deserialize<T>(text);
}
public async Task<T?> Post<T, D>(string url, D data)
{
string text = await PostString(url, data);
return JSON.Deserialize<T>(text);
}
}
}