public GetSubredditGalleryAsync ( string subreddit, SubredditGallerySortOrder sort = SubredditGallerySortOrder.Time, TimeWindow window = TimeWindow.Week, int page = null ) : Task |
||
subreddit | string | A valid subreddit name. Example: pics, gaming |
sort | SubredditGallerySortOrder | The order that the gallery should be sorted by. Default: Time |
window | TimeWindow | The time period that should be used in filtering requests. Default: Week |
page | int | The data paging number. Default: null |
리턴 | Task |
public async Task<IEnumerable<IGalleryImage>> GetSubredditGalleryAsync(string subreddit,
SubredditGallerySortOrder? sort = SubredditGallerySortOrder.Time, TimeWindow? window = TimeWindow.Week,
int? page = null)
{
if (string.IsNullOrWhiteSpace(subreddit))
throw new ArgumentNullException(nameof(subreddit));
sort = sort ?? SubredditGallerySortOrder.Time;
window = window ?? TimeWindow.Week;
var sortValue = $"{sort}".ToLower();
var windowValue = $"{window}".ToLower();
var url = $"gallery/r/{subreddit}/{sortValue}/{windowValue}/{page}";
using (var request = RequestBuilder.CreateRequest(HttpMethod.Get, url))
{
var gallery = await SendRequestAsync<IEnumerable<GalleryImage>>(request).ConfigureAwait(false);
return gallery;
}
}
public async Task GetSubredditGalleryAsync_WithSubRedditNull_ThrowsArgumentNullException() { var client = new ImgurClient("123", "1234"); var endpoint = new GalleryEndpoint(client); var exception = await Record.ExceptionAsync( async () => await endpoint.GetSubredditGalleryAsync(null).ConfigureAwait(false)) .ConfigureAwait(false); Assert.NotNull(exception); Assert.IsType<ArgumentNullException>(exception); }