// Download Profile Image
        public string DownloadProfileImageURL(IGetProfileImageParameters parameters)
        {
            var query = new StringBuilder(parameters.ImageUrl.Replace("_normal", $"_{parameters.ImageSize.ToString().ToLowerInvariant()}"));

            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);
            return(query.ToString());
        }
Exemple #2
0
        // Stream Profile Image
        public Task <Stream> GetProfileImageStream(IGetProfileImageParameters parameters, ITwitterRequest request)
        {
            var url = _userQueryGenerator.DownloadProfileImageURL(parameters);

            request.Query.Url        = url;
            request.Query.HttpMethod = HttpMethod.GET;

            return(_webHelper.GetResponseStreamAsync(request));
        }
        public GetProfileImageParameters(IGetProfileImageParameters parameters) : base(parameters)
        {
            ImageSize = ImageSize.Normal;

            if (parameters == null)
            {
                return;
            }

            ImageSize = parameters.ImageSize;
            ImageUrl  = parameters.ImageUrl;
        }
        public void Validate(IGetProfileImageParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            if (parameters.ImageUrl == null)
            {
                throw new ArgumentNullException($"{nameof(parameters.ImageUrl)}");
            }

            if (!Uri.IsWellFormedUriString(parameters.ImageUrl, UriKind.Absolute))
            {
                throw new ArgumentException("ImageUrl has to be valid absolute url", $"{nameof(parameters.ImageUrl)}");
            }
        }
Exemple #5
0
 public void Validate(IGetProfileImageParameters parameters)
 {
     _usersClientParametersValidator.Validate(parameters);
 }
Exemple #6
0
 public Task <System.IO.Stream> GetProfileImageStream(IGetProfileImageParameters parameters)
 {
     return(_usersRequester.GetProfileImageStream(parameters));
 }
Exemple #7
0
 public Task <System.IO.Stream> GetProfileImageStream(IGetProfileImageParameters parameters)
 {
     _validator.Validate(parameters);
     return(ExecuteRequest(request => _userController.GetProfileImageStream(parameters, request)));
 }
Exemple #8
0
 // Profile Image
 public Task <Stream> GetProfileImageStream(IGetProfileImageParameters parameters, ITwitterRequest request)
 {
     return(_userQueryExecutor.GetProfileImageStream(parameters, request));
 }