public Task <ITwitterResult <ITweetDTO> > GetTweetAsync(IGetTweetParameters parameters, ITwitterRequest request)
        {
            var query = _tweetQueryGenerator.GetTweetQuery(parameters, request.ExecutionContext.TweetMode);

            request.Query.Url        = query;
            request.Query.HttpMethod = HttpMethod.GET;
            return(_twitterAccessor.ExecuteRequestAsync <ITweetDTO>(request));
        }
Example #2
0
        public void Validate(IGetTweetParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            ThrowIfTweetCannotBeUsed(parameters.Tweet, $"{nameof(parameters)}.{nameof(parameters.Tweet)}");
        }
        // Get Tweet
        public string GetTweetQuery(IGetTweetParameters parameters, ComputedTweetMode tweetMode)
        {
            var query = new StringBuilder(Resources.Tweet_Get);

            query.AddParameterToQuery("id", parameters.Tweet?.Id.ToString() ?? parameters.Tweet?.IdStr);
            query.AddParameterToQuery("include_card_uri", parameters.IncludeCardUri);
            query.AddParameterToQuery("include_entities", parameters.IncludeEntities);
            query.AddParameterToQuery("include_ext_alt_text", parameters.IncludeExtAltText);
            query.AddParameterToQuery("include_my_retweet", parameters.IncludeMyRetweet);
            query.AddParameterToQuery("trim_user", parameters.TrimUser);
            query.AddParameterToQuery("tweet_mode", tweetMode);

            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);

            return(query.ToString());
        }
Example #4
0
 public void Validate(IGetTweetParameters parameters)
 {
     _tweetsClientParametersValidator.Validate(parameters);
 }
Example #5
0
 public Task <ITwitterResult <ITweetDTO> > GetTweet(IGetTweetParameters parameters, ITwitterRequest request)
 {
     return(_tweetQueryExecutor.GetTweet(parameters, request));
 }
Example #6
0
 // Tweets
 public Task <ITwitterResult <ITweetDTO> > GetTweetAsync(IGetTweetParameters parameters)
 {
     _tweetsClientRequiredParametersValidator.Validate(parameters);
     return(ExecuteRequestAsync(request => _tweetController.GetTweetAsync(parameters, request)));
 }
Example #7
0
        public async Task <ITweet> GetTweetAsync(IGetTweetParameters parameters)
        {
            var twitterResult = await _tweetsRequester.GetTweetAsync(parameters).ConfigureAwait(false);

            return(_client.Factories.CreateTweet(twitterResult?.Model));
        }