public Task <ITwitterResult <ITweetDTO[]> > GetTweetsAsync(IGetTweetsParameters parameters, ITwitterRequest request) { var query = _tweetQueryGenerator.GetTweetsQuery(parameters, request.ExecutionContext.TweetMode); request.Query.Url = query; request.Query.HttpMethod = HttpMethod.GET; return(_twitterAccessor.ExecuteRequestAsync <ITweetDTO[]>(request)); }
public void Validate(IGetTweetsParameters parameters) { _tweetsClientRequiredParametersValidator.Validate(parameters); var maxPageSize = Limits.TWEETS_GET_TWEETS_REQUEST_MAX_SIZE; if (parameters.Tweets.Length > maxPageSize) { throw new TwitterArgumentLimitException($"{nameof(parameters)}.{nameof(parameters.Tweets)}", maxPageSize, nameof(Limits.TWEETS_GET_TWEETS_REQUEST_MAX_SIZE), "items"); } }
public async Task <ITweet[]> GetTweetsAsync(IGetTweetsParameters parameters) { if (parameters.Tweets == null || parameters.Tweets.Length == 0) { return(new ITweet[0]); } var requestResult = await _tweetsRequester.GetTweetsAsync(parameters).ConfigureAwait(false); return(_client.Factories.CreateTweets(requestResult?.Model)); }
public string GetTweetsQuery(IGetTweetsParameters parameters, ComputedTweetMode tweetMode) { var query = new StringBuilder(Resources.Tweet_Lookup); var validTweetIdentifiers = parameters.Tweets.Where(x => GetTweetId(x) != null); var tweetIds = validTweetIdentifiers.Select(GetTweetId); query.AddParameterToQuery("id", string.Join(",", tweetIds)); query.AddParameterToQuery("include_card_uri", parameters.IncludeCardUri); query.AddParameterToQuery("include_entities", parameters.IncludeEntities); query.AddParameterToQuery("include_ext_alt_text", parameters.IncludeExtAltText); query.AddParameterToQuery("trim_user", parameters.TrimUser); query.AddParameterToQuery("tweet_mode", tweetMode); query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters); return(query.ToString()); }
public void Validate(IGetTweetsParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } if (parameters.Tweets == null) { throw new ArgumentNullException(); } if (parameters.Tweets.Length == 0) { throw new ArgumentException("You need at least 1 tweet id", $"{nameof(parameters)}.{nameof(parameters.Tweets)}"); } var validTweetIdentifiers = parameters.Tweets.Where(x => x?.Id != null || !string.IsNullOrEmpty(x?.IdStr)); if (!validTweetIdentifiers.Any()) { throw new ArgumentException("There are no valid tweet identifiers", $"{nameof(parameters)}.{nameof(parameters.Tweets)}"); } }
public void Validate(IGetTweetsParameters parameters) { _tweetsClientParametersValidator.Validate(parameters); }
public Task <ITwitterResult <ITweetDTO[]> > GetTweets(IGetTweetsParameters parameters, ITwitterRequest request) { return(_tweetQueryExecutor.GetTweets(parameters, request)); }
public Task <ITwitterResult <ITweetDTO[]> > GetTweetsAsync(IGetTweetsParameters parameters) { _tweetsClientRequiredParametersValidator.Validate(parameters); return(ExecuteRequestAsync(request => _tweetController.GetTweetsAsync(parameters, request))); }