diff --git a/Booru.Net.Tests/Booru.Net.Tests.csproj b/Booru.Net.Tests/Booru.Net.Tests.csproj
index eaeb3c5..e232d35 100644
--- a/Booru.Net.Tests/Booru.Net.Tests.csproj
+++ b/Booru.Net.Tests/Booru.Net.Tests.csproj
@@ -3,8 +3,8 @@
Exe
netcoreapp2.1
- 2020.4.10.0
- 2020.4.10.0
+ 2020.4.28.0
+ 2020.4.28.0
diff --git a/Booru.Net.Tests/Program.cs b/Booru.Net.Tests/Program.cs
index f33329f..b570a6a 100644
--- a/Booru.Net.Tests/Program.cs
+++ b/Booru.Net.Tests/Program.cs
@@ -23,7 +23,7 @@ namespace Booru.Net.Tests
{
Console.WriteLine(client);
- string[] tags = new[] { "corona" };
+ List tags = new List{ "corona", "-cum" };
switch (client)
{
@@ -35,8 +35,8 @@ namespace Booru.Net.Tests
break;
case 1:
{
- var p = await new E621Client().GetImagesAsync(tags).ConfigureAwait(false);
- Console.WriteLine(p.Posts.All(x => x.Tags.Any(z => z.Value.Any(y => tags.Contains(y)))));
+ var posts = await new E621Client().GetImagesAsync(tags).ConfigureAwait(false);
+ Console.WriteLine(posts.All(x => x.Tags.Any(z => z.Value.Any(y => tags.Contains(y)))));
}
break;
case 2:
diff --git a/Booru.Net/Booru.Net.csproj b/Booru.Net/Booru.Net.csproj
index cf33f09..67e57c5 100644
--- a/Booru.Net/Booru.Net.csproj
+++ b/Booru.Net/Booru.Net.csproj
@@ -24,11 +24,11 @@ Yande.re
booru imageboard api wrapper
true
- 2.0.4
+ 2.0.5
LICENSE
- 2.0.4.0
- 2.0.4.0
- Fix E621 Tags
+ 2.0.5.0
+ 2.0.5.0
+ Tags now work
@@ -46,7 +46,6 @@ Yande.re
-
diff --git a/Booru.Net/Clients/DanbooruClient.cs b/Booru.Net/Clients/DanbooruClient.cs
index 3f9757a..1186bd2 100644
--- a/Booru.Net/Clients/DanbooruClient.cs
+++ b/Booru.Net/Clients/DanbooruClient.cs
@@ -1,5 +1,4 @@
using Newtonsoft.Json;
-using RestEase;
using System;
using System.Collections.Generic;
using System.Net.Http;
@@ -7,35 +6,43 @@ using System.Threading.Tasks;
namespace Booru.Net
{
- public class DanbooruClient : IPostsBooruClient, IDisposable
+ public class DanbooruClient : IDisposable
{
- IPostsBooruClient _api;
+ private readonly HttpClient _api;
+ private readonly JsonSerializerSettings settings;
public DanbooruClient()
{
- var httpClient = new HttpClient
+ _api = new HttpClient
{
BaseAddress = new Uri("https://danbooru.donmai.us/")
};
- httpClient.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
+ _api.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
- JsonSerializerSettings settings = new JsonSerializerSettings
+ settings = new JsonSerializerSettings
{
Formatting = Formatting.Indented,
NullValueHandling = NullValueHandling.Ignore
};
-
- _api = new RestClient(httpClient)
- {
- JsonSerializerSettings = settings
- }.For>();
}
public Task> GetImagesAsync(IEnumerable tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
public Task> GetImagesAsync(params string[] tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
+
+ public async Task> GetImagesAsync(string tags)
+ {
+ var get = await _api.GetAsync($"posts.json?tags={tags}").ConfigureAwait(false);
+
+ if (!get.IsSuccessStatusCode)
+ throw new HttpRequestException($"Response failed with reason: \"({get.StatusCode}) {get.ReasonPhrase}\"");
+
+ var content = await get.Content.ReadAsStringAsync().ConfigureAwait(false);
+
+ return JsonConvert.DeserializeObject>(content, settings);
+ }
public void Dispose()
{
diff --git a/Booru.Net/Clients/E621Client.cs b/Booru.Net/Clients/E621Client.cs
index eea0ee6..3749a0f 100644
--- a/Booru.Net/Clients/E621Client.cs
+++ b/Booru.Net/Clients/E621Client.cs
@@ -1,5 +1,4 @@
using Newtonsoft.Json;
-using RestEase;
using System;
using System.Collections.Generic;
using System.Net.Http;
@@ -7,35 +6,45 @@ using System.Threading.Tasks;
namespace Booru.Net
{
- public class E621Client : IPostsWrappedBooruClient>, IDisposable
+ public class E621Client : IDisposable
{
- IPostsWrappedBooruClient> _api;
+ private readonly HttpClient _api;
+ private readonly JsonSerializerSettings settings;
public E621Client()
{
- var httpClient = new HttpClient
+ _api = new HttpClient
{
BaseAddress = new Uri("https://e621.net/")
};
- httpClient.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
+ _api.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
- JsonSerializerSettings settings = new JsonSerializerSettings
+ settings = new JsonSerializerSettings
{
Formatting = Formatting.Indented,
NullValueHandling = NullValueHandling.Ignore
};
-
- _api = new RestClient(httpClient)
- {
- JsonSerializerSettings = settings
- }.For>>();
}
- public Task> GetImagesAsync(IEnumerable tags)
- => _api.GetImagesAsync(tags);
+ public Task> GetImagesAsync(IEnumerable tags)
+ => GetImagesAsync(string.Join("%20", tags));
+
+ public Task> GetImagesAsync(params string[] tags)
+ => GetImagesAsync(string.Join("%20", tags));
+
+ public async Task> GetImagesAsync(string tags)
+ {
+ var get = await _api.GetAsync($"posts.json?tags={tags}").ConfigureAwait(false);
- public Task> GetImagesAsync(params string[] tags)
- => _api.GetImagesAsync(tags);
+ if (!get.IsSuccessStatusCode)
+ throw new HttpRequestException($"Response failed with reason: \"({get.StatusCode}) {get.ReasonPhrase}\"");
+
+ var content = await get.Content.ReadAsStringAsync().ConfigureAwait(false);
+
+ var posts = JsonConvert.DeserializeObject>(content, settings);
+
+ return posts.Posts;
+ }
public void Dispose()
{
diff --git a/Booru.Net/Clients/GelbooruClient.cs b/Booru.Net/Clients/GelbooruClient.cs
index af0c2ec..d1581cc 100644
--- a/Booru.Net/Clients/GelbooruClient.cs
+++ b/Booru.Net/Clients/GelbooruClient.cs
@@ -1,5 +1,4 @@
using Newtonsoft.Json;
-using RestEase;
using System;
using System.Collections.Generic;
using System.Net.Http;
@@ -7,35 +6,43 @@ using System.Threading.Tasks;
namespace Booru.Net
{
- public class GelbooruClient : IPHPBooruClient, IDisposable
+ public class GelbooruClient : IDisposable
{
- IPHPBooruClient _api;
+ private readonly HttpClient _api;
+ private readonly JsonSerializerSettings settings;
public GelbooruClient()
{
- var httpClient = new HttpClient
+ _api = new HttpClient
{
BaseAddress = new Uri("https://gelbooru.com/")
};
- httpClient.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
+ _api.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
- JsonSerializerSettings settings = new JsonSerializerSettings
+ settings = new JsonSerializerSettings
{
Formatting = Formatting.Indented,
NullValueHandling = NullValueHandling.Ignore
};
-
- _api = new RestClient(httpClient)
- {
- JsonSerializerSettings = settings
- }.For>();
}
public Task> GetImagesAsync(IEnumerable tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
public Task> GetImagesAsync(params string[] tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
+
+ public async Task> GetImagesAsync(string tags)
+ {
+ var get = await _api.GetAsync($"index.php?page=dapi&s=post&q=index&json=1&tags={tags}").ConfigureAwait(false);
+
+ if (!get.IsSuccessStatusCode)
+ throw new HttpRequestException($"Response failed with reason: \"({get.StatusCode}) {get.ReasonPhrase}\"");
+
+ var content = await get.Content.ReadAsStringAsync().ConfigureAwait(false);
+
+ return JsonConvert.DeserializeObject>(content, settings);
+ }
public void Dispose()
{
diff --git a/Booru.Net/Clients/KonaChanClient.cs b/Booru.Net/Clients/KonaChanClient.cs
index ec96bdf..7901d2a 100644
--- a/Booru.Net/Clients/KonaChanClient.cs
+++ b/Booru.Net/Clients/KonaChanClient.cs
@@ -1,5 +1,4 @@
using Newtonsoft.Json;
-using RestEase;
using System;
using System.Collections.Generic;
using System.Net.Http;
@@ -7,35 +6,43 @@ using System.Threading.Tasks;
namespace Booru.Net
{
- public class KonaChanClient : IPostBooruClient, IDisposable
+ public class KonaChanClient : IDisposable
{
- IPostBooruClient _api;
+ private readonly HttpClient _api;
+ private readonly JsonSerializerSettings settings;
public KonaChanClient()
{
- var httpClient = new HttpClient
+ _api = new HttpClient
{
BaseAddress = new Uri("https://konachan.com/")
};
- httpClient.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
+ _api.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
- JsonSerializerSettings settings = new JsonSerializerSettings
+ settings = new JsonSerializerSettings
{
Formatting = Formatting.Indented,
NullValueHandling = NullValueHandling.Ignore
};
-
- _api = new RestClient(httpClient)
- {
- JsonSerializerSettings = settings
- }.For>();
}
public Task> GetImagesAsync(IEnumerable tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
public Task> GetImagesAsync(params string[] tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
+
+ public async Task> GetImagesAsync(string tags)
+ {
+ var get = await _api.GetAsync($"post.json?tags={tags}").ConfigureAwait(false);
+
+ if (!get.IsSuccessStatusCode)
+ throw new HttpRequestException($"Response failed with reason: \"({get.StatusCode}) {get.ReasonPhrase}\"");
+
+ var content = await get.Content.ReadAsStringAsync().ConfigureAwait(false);
+
+ return JsonConvert.DeserializeObject>(content, settings);
+ }
public void Dispose()
{
diff --git a/Booru.Net/Clients/RealbooruClient.cs b/Booru.Net/Clients/RealbooruClient.cs
index c82ca45..b15b749 100644
--- a/Booru.Net/Clients/RealbooruClient.cs
+++ b/Booru.Net/Clients/RealbooruClient.cs
@@ -1,5 +1,4 @@
using Newtonsoft.Json;
-using RestEase;
using System;
using System.Collections.Generic;
using System.Net.Http;
@@ -7,35 +6,43 @@ using System.Threading.Tasks;
namespace Booru.Net
{
- public class RealbooruClient : IPHPBooruClient, IDisposable
+ public class RealbooruClient : IDisposable
{
- IPHPBooruClient _api;
+ HttpClient _api;
+ JsonSerializerSettings settings;
public RealbooruClient()
{
- var httpClient = new HttpClient
+ _api = new HttpClient
{
BaseAddress = new Uri("https://realbooru.com/")
};
- httpClient.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
+ _api.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
- JsonSerializerSettings settings = new JsonSerializerSettings
+ settings = new JsonSerializerSettings
{
Formatting = Formatting.Indented,
NullValueHandling = NullValueHandling.Ignore
};
-
- _api = new RestClient(httpClient)
- {
- JsonSerializerSettings = settings
- }.For>();
}
- public async Task> GetImagesAsync(IEnumerable tags)
- => await _api.GetImagesAsync(tags).ConfigureAwait(false);
+ public Task> GetImagesAsync(IEnumerable tags)
+ => GetImagesAsync(string.Join("%20", tags));
+
+ public Task> GetImagesAsync(params string[] tags)
+ => GetImagesAsync(string.Join("%20", tags));
+
+ public async Task> GetImagesAsync(string tags)
+ {
+ var get = await _api.GetAsync($"index.php?page=dapi&s=post&q=index&json=1&tags={tags}").ConfigureAwait(false);
+
+ if (!get.IsSuccessStatusCode)
+ throw new HttpRequestException($"Response failed with reason: \"({get.StatusCode}) {get.ReasonPhrase}\"");
- public async Task> GetImagesAsync(params string[] tags)
- => await _api.GetImagesAsync(tags).ConfigureAwait(false);
+ var content = await get.Content.ReadAsStringAsync().ConfigureAwait(false);
+
+ return JsonConvert.DeserializeObject>(content, settings);
+ }
public void Dispose()
{
diff --git a/Booru.Net/Clients/Rule34Client.cs b/Booru.Net/Clients/Rule34Client.cs
index b2c0415..596c8d0 100644
--- a/Booru.Net/Clients/Rule34Client.cs
+++ b/Booru.Net/Clients/Rule34Client.cs
@@ -1,5 +1,4 @@
using Newtonsoft.Json;
-using RestEase;
using System;
using System.Collections.Generic;
using System.Net.Http;
@@ -7,35 +6,43 @@ using System.Threading.Tasks;
namespace Booru.Net
{
- public class Rule34Client : IPHPBooruClient, IDisposable
+ public class Rule34Client : IDisposable
{
- IPHPBooruClient _api;
+ private readonly HttpClient _api;
+ private readonly JsonSerializerSettings settings;
public Rule34Client()
{
- var httpClient = new HttpClient
+ _api = new HttpClient
{
BaseAddress = new Uri("https://rule34.xxx/")
};
- httpClient.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
+ _api.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
- JsonSerializerSettings settings = new JsonSerializerSettings
+ settings = new JsonSerializerSettings
{
Formatting = Formatting.Indented,
NullValueHandling = NullValueHandling.Ignore
};
-
- _api = new RestClient(httpClient)
- {
- JsonSerializerSettings = settings
- }.For>();
}
public Task> GetImagesAsync(IEnumerable tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
public Task> GetImagesAsync(params string[] tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
+
+ public async Task> GetImagesAsync(string tags)
+ {
+ var get = await _api.GetAsync($"index.php?page=dapi&s=post&q=index&json=1&tags={tags}").ConfigureAwait(false);
+
+ if (!get.IsSuccessStatusCode)
+ throw new HttpRequestException($"Response failed with reason: \"({get.StatusCode}) {get.ReasonPhrase}\"");
+
+ var content = await get.Content.ReadAsStringAsync().ConfigureAwait(false);
+
+ return JsonConvert.DeserializeObject>(content, settings);
+ }
public void Dispose()
{
diff --git a/Booru.Net/Clients/SafeBooruClient.cs b/Booru.Net/Clients/SafeBooruClient.cs
index ccbd7a3..be9f130 100644
--- a/Booru.Net/Clients/SafeBooruClient.cs
+++ b/Booru.Net/Clients/SafeBooruClient.cs
@@ -1,5 +1,4 @@
using Newtonsoft.Json;
-using RestEase;
using System;
using System.Collections.Generic;
using System.Net.Http;
@@ -7,35 +6,43 @@ using System.Threading.Tasks;
namespace Booru.Net
{
- public class SafebooruClient : IPHPBooruClient, IDisposable
+ public class SafebooruClient : IDisposable
{
- IPHPBooruClient _api;
+ private readonly HttpClient _api;
+ private readonly JsonSerializerSettings settings;
public SafebooruClient()
{
- var httpClient = new HttpClient
+ _api = new HttpClient
{
BaseAddress = new Uri("https://safebooru.org/")
};
- httpClient.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
+ _api.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
- JsonSerializerSettings settings = new JsonSerializerSettings
+ settings = new JsonSerializerSettings
{
Formatting = Formatting.Indented,
NullValueHandling = NullValueHandling.Ignore
};
-
- _api = new RestClient(httpClient)
- {
- JsonSerializerSettings = settings
- }.For>();
}
public Task> GetImagesAsync(IEnumerable tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
public Task> GetImagesAsync(params string[] tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
+
+ public async Task> GetImagesAsync(string tags)
+ {
+ var get = await _api.GetAsync($"index.php?page=dapi&s=post&q=index&json=1&tags={tags}").ConfigureAwait(false);
+
+ if (!get.IsSuccessStatusCode)
+ throw new HttpRequestException($"Response failed with reason: \"({get.StatusCode}) {get.ReasonPhrase}\"");
+
+ var content = await get.Content.ReadAsStringAsync().ConfigureAwait(false);
+
+ return JsonConvert.DeserializeObject>(content, settings);
+ }
public void Dispose()
{
diff --git a/Booru.Net/Clients/YandereClient.cs b/Booru.Net/Clients/YandereClient.cs
index e5d99bb..af2f155 100644
--- a/Booru.Net/Clients/YandereClient.cs
+++ b/Booru.Net/Clients/YandereClient.cs
@@ -1,5 +1,4 @@
using Newtonsoft.Json;
-using RestEase;
using System;
using System.Collections.Generic;
using System.Net.Http;
@@ -7,35 +6,43 @@ using System.Threading.Tasks;
namespace Booru.Net
{
- public class YandereClient : IPostBooruClient, IDisposable
+ public class YandereClient : IDisposable
{
- IPostBooruClient _api;
+ private readonly HttpClient _api;
+ private readonly JsonSerializerSettings settings;
public YandereClient()
{
- var httpClient = new HttpClient
+ _api = new HttpClient
{
BaseAddress = new Uri("https://yande.re/")
};
- httpClient.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
+ _api.DefaultRequestHeaders.Add("User-Agent", $"Booru.Net/v{Props.LibraryVersion} (https://github.com/exsersewo/Booru.Net)");
- JsonSerializerSettings settings = new JsonSerializerSettings
+ settings = new JsonSerializerSettings
{
Formatting = Formatting.Indented,
NullValueHandling = NullValueHandling.Ignore
};
-
- _api = new RestClient(httpClient)
- {
- JsonSerializerSettings = settings
- }.For>();
}
public Task> GetImagesAsync(IEnumerable tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
public Task> GetImagesAsync(params string[] tags)
- => _api.GetImagesAsync(tags);
+ => GetImagesAsync(string.Join("%20", tags));
+
+ public async Task> GetImagesAsync(string tags)
+ {
+ var get = await _api.GetAsync($"post.json?tags={tags}").ConfigureAwait(false);
+
+ if (!get.IsSuccessStatusCode)
+ throw new HttpRequestException($"Response failed with reason: \"({get.StatusCode}) {get.ReasonPhrase}\"");
+
+ var content = await get.Content.ReadAsStringAsync().ConfigureAwait(false);
+
+ return JsonConvert.DeserializeObject>(content, settings);
+ }
public void Dispose()
{
diff --git a/Booru.Net/Interfaces/IIndexBooruClient.cs b/Booru.Net/Interfaces/IIndexBooruClient.cs
deleted file mode 100644
index 9e51ece..0000000
--- a/Booru.Net/Interfaces/IIndexBooruClient.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using RestEase;
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-
-namespace Booru.Net
-{
- public interface IIndexBooruClient : IDisposable
- {
- [Get("index.json")]
- public Task> GetImagesAsync([Query("tags")] IEnumerable tags);
- }
-}
diff --git a/Booru.Net/Interfaces/IPHPBooruClient.cs b/Booru.Net/Interfaces/IPHPBooruClient.cs
deleted file mode 100644
index 5e956ca..0000000
--- a/Booru.Net/Interfaces/IPHPBooruClient.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using RestEase;
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-
-namespace Booru.Net
-{
- public interface IPHPBooruClient : IDisposable
- {
- [Get("index.php?page=dapi&s=post&q=index&json=1")]
- public Task> GetImagesAsync([Query("tags")] IEnumerable tags);
- }
-}
diff --git a/Booru.Net/Interfaces/IPostBooruClient.cs b/Booru.Net/Interfaces/IPostBooruClient.cs
deleted file mode 100644
index 20dbd9b..0000000
--- a/Booru.Net/Interfaces/IPostBooruClient.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using RestEase;
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-
-namespace Booru.Net
-{
- public interface IPostBooruClient : IDisposable
- {
- [Get("post.json")]
- public Task> GetImagesAsync([Query("tags")] IEnumerable tags);
- }
-}
diff --git a/Booru.Net/Interfaces/IPostsBooruClient.cs b/Booru.Net/Interfaces/IPostsBooruClient.cs
deleted file mode 100644
index 1ec2252..0000000
--- a/Booru.Net/Interfaces/IPostsBooruClient.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using RestEase;
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-
-namespace Booru.Net
-{
- public interface IPostsBooruClient : IDisposable
- {
- [Get("posts.json")]
- public Task> GetImagesAsync([Query("tags")] IEnumerable tags);
- }
-}
diff --git a/Booru.Net/Interfaces/IPostsWrappedBooruClient.cs b/Booru.Net/Interfaces/IPostsWrappedBooruClient.cs
deleted file mode 100644
index a0ef5ad..0000000
--- a/Booru.Net/Interfaces/IPostsWrappedBooruClient.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using RestEase;
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-
-namespace Booru.Net
-{
- public interface IPostsWrappedBooruClient : IDisposable
- {
- [Get("posts.json")]
- public Task GetImagesAsync([Query("tags")] IEnumerable tags);
- }
-}