public Task <ITwitterResult <IIdsCursorQueryResultDTO> > GetFollowerIds(IGetFollowerIdsParameters parameters, ITwitterRequest request) { var query = _userQueryGenerator.GetFollowerIdsQuery(parameters); request.Query.Url = query; request.Query.HttpMethod = HttpMethod.GET; return(_twitterAccessor.ExecuteRequest <IIdsCursorQueryResultDTO>(request)); }
public void Validate(IGetFollowerIdsParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } _userQueryValidator.ThrowIfUserCannotBeIdentified(parameters.User, $"{nameof(parameters.User)}"); }
public string GetFollowerIdsQuery(IGetFollowerIdsParameters parameters) { var query = new StringBuilder(Resources.User_GetFollowers); query.AddFormattedParameterToQuery(_userQueryParameterGenerator.GenerateIdOrScreenNameParameter(parameters.User)); _queryParameterGenerator.AppendCursorParameters(query, parameters); query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters); return(query.ToString()); }
public GetFollowerIdsParameters(IGetFollowerIdsParameters parameters) : base(parameters) { if (parameters == null) { PageSize = TwitterLimits.DEFAULTS.USERS_GET_FOLLOWER_IDS_PAGE_MAX_SIZE; return; } User = parameters.User; }
public void Validate(IGetFollowerIdsParameters parameters) { _usersClientRequiredParametersValidator.Validate(parameters); var maxPageSize = Limits.USERS_GET_FOLLOWER_IDS_PAGE_MAX_SIZE; if (parameters.PageSize > maxPageSize) { throw new TwitterArgumentLimitException($"{nameof(parameters)}.{nameof(parameters.PageSize)}", maxPageSize, nameof(Limits.USERS_GET_FOLLOWER_IDS_PAGE_MAX_SIZE), "page size"); } }
public void Validate(IGetFollowerIdsParameters parameters) { _usersClientParametersValidator.Validate(parameters); }
public ITwitterIterator <long> GetFollowerIdsIterator(IGetFollowerIdsParameters parameters) { var followerIdsPageIterator = _usersRequester.GetFollowerIdsIterator(parameters); return(new TwitterIteratorProxy <ITwitterResult <IIdsCursorQueryResultDTO>, long>(followerIdsPageIterator, dto => dto.DataTransferObject.Ids)); }
public async Task <long[]> GetFollowerIds(IGetFollowerIdsParameters parameters) { var iterator = GetFollowerIdsIterator(parameters); return((await iterator.NextPage().ConfigureAwait(false)).ToArray()); }
public ITwitterPageIterator <ITwitterResult <IIdsCursorQueryResultDTO> > GetFollowerIdsIterator(IGetFollowerIdsParameters parameters) { _validator.Validate(parameters); var request = TwitterClient.CreateRequest(); request.ExecutionContext.Converters = JsonQueryConverterRepository.Converters; return(_userController.GetFollowerIdsIterator(parameters, request)); }
public ITwitterPageIterator <ITwitterResult <IIdsCursorQueryResultDTO> > GetFollowerIdsIterator(IGetFollowerIdsParameters parameters, ITwitterRequest request) { var twitterCursorResult = new TwitterPageIterator <ITwitterResult <IIdsCursorQueryResultDTO> >( parameters.Cursor, cursor => { var cursoredParameters = new GetFollowerIdsParameters(parameters) { Cursor = cursor }; return(_userQueryExecutor.GetFollowerIds(cursoredParameters, new TwitterRequest(request))); }, page => page.DataTransferObject.NextCursorStr, page => page.DataTransferObject.NextCursorStr == "0"); return(twitterCursorResult); }