45 lines
1.1 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|