Exemple #1
0
        public Task <GiphyDto[]> GetAsync(string query, int limit, int offset)
        {
            var key = GetCacheKey(query, limit, offset);

            return(_cache.GetOrCreateAsync(key,
                                           async() => {
                var model = await _client.SearchAsync(query, limit, offset);
                return model.ToDtosArray();
            }));
        }
Exemple #2
0
        private async static Task TestWithTasks()
        {
            var config      = new GiphyApiClientConfig();
            var restClient  = new RestClient(config.BaseUrl);
            var giphyClient = new GiphyClient(restClient, config);

            //tests.
            Console.WriteLine("\nPerforming gifs Tasks...");


            var searchTask = await giphyClient.SearchAsync(new SearchParams("Barf")
                                                           .WithLimit(5)
                                                           .WithOffset(2)
                                                           .WithRating("g")
                                                           .WithLanguage("fr"));

            Console.WriteLine("\nsearch task results");
            HandleMultipleCallback(searchTask);


            var trendingResult = await giphyClient.TrendingAsync(new TrendingParams(contentRating : "pg-13")
                                                                 .WithFormat("json")
                                                                 .WithLimit(10)
                                                                 .WithOffset(3)
                                                                 .WithRating("g"));

            Console.WriteLine("trending task results");
            HandleMultipleCallback(trendingResult);


            var translateResult = await giphyClient.TranslateAsync(new TranslateParams(search : "chewy"));

            Console.WriteLine("translate Task results");
            HandleSingleCallback(translateResult);


            var randomResult = await giphyClient.RandomAsync(new RandomParams()
                                                             .WithTag("kanye")
                                                             .WithFormat("json")
                                                             .WithRating("g"));

            Console.WriteLine("random task results");
            HandleRandomCallback(randomResult);


            var idResult = await giphyClient.GifByIdAsync(new GifByIdParams(gifId : "3oriNV6Cxf43fczQje"));

            Console.WriteLine("id task results");
            HandleSingleCallback(idResult);


            var idsResult = await giphyClient.GifsByIdsAsync(new GifsByIdParams(gifIds : new string[] { "3oriNV6Cxf43fczQje", "3oriNRqnlzW4LwLUqI" }));

            Console.WriteLine("ids task results");
            HandleMultipleCallback(idsResult);


            Console.WriteLine("\nPerforming Stickers Tasks...");
            var searchStickersResult = await giphyClient.StickerSearchAsync(new SearchParams("Barf"));

            Console.WriteLine("search stickers results");
            HandleMultipleCallback(searchStickersResult);


            var trendingStickersResult = await giphyClient.StickerTrendingAsync(new TrendingParams()
                                                                                .WithFormat("json")
                                                                                .WithLimit(10)
                                                                                .WithOffset(0)
                                                                                .WithRating("g"));

            Console.WriteLine("trending stickers results");
            HandleMultipleCallback(trendingStickersResult);


            var translateStickersResult = await giphyClient.StickerTranslateAsync(new TranslateParams("larb"));

            Console.WriteLine("translate stickers results");
            HandleSingleCallback(translateStickersResult);


            var randomStickersResult = await giphyClient.StickerRandomAsync(new RandomParams()
                                                                            .WithTag("beef")
                                                                            .WithFormat("json")
                                                                            .WithRating("g"));

            Console.WriteLine("random stickers results");
            HandleRandomCallback(randomStickersResult);
        }