public void OnlyNameSet()
 {
     var queryStringBuilder = new QueryStringBuilder();
     var objectToConvert = new TestSerialisationObject {Name = "test"};
     var queryString = queryStringBuilder.ToQueryString(objectToConvert);
     StringAssert.AreEqualIgnoringCase("name=test",queryString);
 }
        public async Task<string> StoreFromStreamAsync(Stream stream, string filename = null, string extension = null, string rootFolder = null, string path = null)
        {
            if (stream == null) throw new ArgumentNullException("stream");

            var qs = new QueryStringBuilder();

            if (string.IsNullOrWhiteSpace(path))
            {

                if (!string.IsNullOrWhiteSpace(filename))
                    qs["filename"] = filename;

                if (!string.IsNullOrWhiteSpace(extension))
                    qs["extension"] = extension;

                if (!string.IsNullOrWhiteSpace(rootFolder))
                    qs["rootFolder"] = rootFolder;

                var resp = await _client.PostAsync(qs.ToString(), new StreamContent(stream)).ConfigureAwait(false);

                await EnsureSuccess(resp);

                path = await resp.Content.ReadAsStringAsync().ConfigureAwait(false);
            }
            else
            {
                qs["path"] = path;
                var resp = await _client.PutAsync(qs.ToString(), new StreamContent(stream)).ConfigureAwait(false);
                await EnsureSuccess(resp);
              
                path = await resp.Content.ReadAsStringAsync().ConfigureAwait(false);
            }
            return path;
        }
        public void SetEnumerableString()
        {
            var builder = new QueryStringBuilder();
            var target = new SetEnumerableStringTarget(builder);
            target.Prop = new[] {"c", "a", null, "b"};

            Assert.That(builder.ToQueryString(), Is.EqualTo("key=a&key=b&key=c"));
        }
        public void Empty_builder_should_result_in_empty_string()
        {
            // Act
            var builder = new QueryStringBuilder();

            // Assert
            builder.ToString().ShouldBe(string.Empty);
        }
        public void Test_2_Parameters_Return_Valid_Query_String()
        {
            QueryStringBuilder qsb = new QueryStringBuilder();
            qsb.AddParameter("q", "environment");
            qsb.AddParameter("filter", "uk");

            Assert.AreEqual("?q=environment&filter=uk", qsb.GetQueryString());
        }
        public void AppendToUrlWithExistingQueryString_String()
        {
            var builder = new QueryStringBuilder();
            builder.Set("a", "1");

            var baseUrl = "http://localhost/default.aspx?b=2";
            Assert.That(builder.AppendToUrl(baseUrl), Is.EqualTo("http://localhost/default.aspx?b=2&a=1"));
        }
        public void Test_With_Date_Parameter()
        {
            QueryStringBuilder qsb = new QueryStringBuilder();
            qsb.AddParameter("q", "environment");
            qsb.AddParameter("filter", "uk");
            qsb.AddParameter("After", new DateTime(1971, 2, 20));

            Assert.AreEqual("?q=environment&filter=uk&after=1971-02-20", qsb.GetQueryString());
        }
 internal static string EncodeCredentialsAsQueryString(Credentials credentials)
 {
     QueryStringBuilder builder = new QueryStringBuilder();
     foreach (CredentialsNameValuePair nv in credentials.Attributes)
     {
         builder.Append(nv.Name, nv.Value);
     }
     return builder.ToString();
 }
        public void AppendToUrlWithExistingQueryString_RelativeUri()
        {
            var builder = new QueryStringBuilder();
            builder.Set("a", "1");

            var baseUrl = new Uri("/default.aspx?b=2", UriKind.Relative);
            var expected = new Uri("/default.aspx?b=2&a=1", UriKind.Relative);
            Assert.That(builder.AppendToUrl(baseUrl), Is.EqualTo(expected));
        }
        public void AppendToUrlWithExistingQueryString_AbsoluteUri()
        {
            var builder = new QueryStringBuilder();
            builder.Set("a", "1");

            var baseUrl = new Uri("http://localhost/default.aspx?b=2");
            var expected = new Uri("http://localhost/default.aspx?b=2&a=1");
            Assert.That(builder.AppendToUrl(baseUrl), Is.EqualTo(expected));
        }
Beispiel #11
0
        /// <summary>
        /// Returns the query string to be used in the webhook URL
        /// </summary>
        /// <returns></returns>
        public string ToQueryString()
        {
            QueryStringBuilder builder = new QueryStringBuilder();

            if (ThreadId.HasValue)
            {
                builder.Add("thread_id", ThreadId.Value.ToString());
            }

            return(builder.ToString());
        }
Beispiel #12
0
        private QueryStringBuilder CreateQueryStringBuilder()
        {
            var qsb = new QueryStringBuilder();

            if (!string.IsNullOrEmpty(PrivateToken))
            {
                qsb.SetValue("private_token", PrivateToken);
            }

            return(qsb);
        }
Beispiel #13
0
        public async Task <IEXResponse <IEnumerable <OptionResponse> > > OptionsAsync(string symbol, string expiration, OptionSide optionSide)
        {
            const string urlPattern = "stock/[symbol]/options/[expiration]/[optionSide]";

            var qsb     = new QueryStringBuilder();
            var pathNvc = new NameValueCollection {
                { "symbol", symbol }, { "expiration", expiration }, { "optionSide", optionSide.GetDescriptionFromEnum() }
            };

            return(await executor.ExecuteAsync <IEnumerable <OptionResponse> >(urlPattern, pathNvc, qsb));
        }
Beispiel #14
0
        /// <summary>
        /// Gets an access token from the provided refresh token
        /// </summary>
        /// <param name="refreshToken">Refresh token</param>
        /// <returns>Access token for OneDrive</returns>
        /// <exception cref="Exceptions.TokenRetrievalFailedException">Thrown when unable to retrieve a valid access token</exception>
        protected override async Task <OneDriveAccessToken> GetAccessTokenFromRefreshToken(string refreshToken)
        {
            var queryBuilder = new QueryStringBuilder();

            queryBuilder.Add("client_id", ClientId);
            queryBuilder.Add("redirect_uri", AuthenticationRedirectUrl);
            queryBuilder.Add("client_secret", ClientSecret);
            queryBuilder.Add("refresh_token", refreshToken);
            queryBuilder.Add("grant_type", "refresh_token");
            return(await PostToTokenEndPoint(queryBuilder));
        }
Beispiel #15
0
        public async Task HistoricalPriceAsync(string symbol,
                                               ChartRange range = ChartRange._1m, QueryStringBuilder qsb = null)
        {
            var response = await sandBoxClient.Stock.HistoricalPriceAsync(symbol, range);

            Assert.IsNull(response.ErrorMessage);
            Assert.IsNotNull(response.Data);
            Assert.GreaterOrEqual(response.Data.Count(), 1);
            Assert.IsNotEmpty(response.Data.First().date);
            Assert.Greater(response.Data.First().GetDateTimeInUTC(), DateTime.MinValue);
        }
Beispiel #16
0
        internal string ToQueryString()
        {
            QueryStringBuilder builder = new QueryStringBuilder();

            if (WithUserCount.HasValue)
            {
                builder.Add("with_user_count", WithUserCount.Value.ToString());
            }

            return(builder.ToString());
        }
        public void Adding_first_item_should_prepend_question_mark()
        {
            // Arrange
            var builder = new QueryStringBuilder();

            // Act
            builder.Add("foo", "bar");

            // Assert
            builder.ToString().ShouldBe("?foo=bar");
        }
Beispiel #18
0
        public async Task <IEXResponse <IEnumerable <DividendV1Response> > > DividendAsync(string symbol, DividendRange range)
        {
            const string urlPattern = "stock/[symbol]/dividends/[range]";
            var          qsb        = new QueryStringBuilder();
            var          pathNvc    = new NameValueCollection
            {
                { "symbol", symbol }, { "range", range.GetDescriptionFromEnum() }
            };

            return(await executor.ExecuteAsync <IEnumerable <DividendV1Response> >(urlPattern, pathNvc, qsb));
        }
        private static string GenerateMediaFileUrl(this ExtensionPoint <UrlHelper> instance, Guid mediaFileGuid, string siteName, SizeConstraint constraint)
        {
            var mediaFileUrlProvider = Service <IMediaFileUrlProvider> .Entry();

            var url = mediaFileUrlProvider.GetMediaFileUrl(mediaFileGuid, siteName);
            var queryStringBuilder = new QueryStringBuilder().AppendSizeConstraint(constraint);

            url += queryStringBuilder.ToString();

            return(instance.Target.Content(url));
        }
        public string RetrieveWarehouse(string Id)
        {
            var queryString =
                new QueryStringBuilder()
                .Add("$expand", "Locations")
                .ToString();

            var response = _httpContext.Get($"Warehouse/{Id}?{queryString}");

            return(response.Body);
        }
Beispiel #21
0
        protected QueryStringBuilder GetQueryStringBuilderInstance()
        {
            QueryStringBuilder queryStringBuilder = null;

            if (queryStringBuilder == null)
            {
                return(new QueryStringBuilder());
            }

            return(queryStringBuilder);
        }
Beispiel #22
0
        public static async Task AddToPendingSubscriptionQueueAsync(OneDriveNotification notification)
        {
            QueryStringBuilder qsb = new QueryStringBuilder {
                StartCharacter = null
            };

            qsb.Add("id", notification.UserId);

            CloudQueueMessage message = new CloudQueueMessage(qsb.ToString());
            await SubscriptionQueue.AddMessageAsync(message);
        }
        /// <summary>
        /// Gets an access token from the provided refresh token
        /// </summary>
        /// <param name="refreshToken">Refresh token</param>
        /// <param name="scopes">Scopes to request access for</param>
        /// <returns>Access token for the Graph API</returns>
        /// <exception cref="Exceptions.TokenRetrievalFailedException">Thrown when unable to retrieve a valid access token</exception>
        protected async Task <OneDriveAccessToken> GetAccessTokenFromRefreshToken(string refreshToken, string[] scopes)
        {
            var queryBuilder = new QueryStringBuilder();

            queryBuilder.Add("client_id", ClientId);
            queryBuilder.Add("scope", scopes.Aggregate((x, y) => $"{x} {y}"));
            queryBuilder.Add("refresh_token", refreshToken);
            queryBuilder.Add("redirect_uri", AuthenticationRedirectUrl);
            queryBuilder.Add("grant_type", "refresh_token");
            return(await PostToTokenEndPoint(queryBuilder));
        }
        public void Value_should_be_url_encoded()
        {
            // Arrange
            var builder = new QueryStringBuilder();

            // Act
            builder.Add("foo", "% ");

            // Assert
            builder.ToString().ShouldEndWith("foo=%25%20");
        }
        public void BuilderWithNullNameShouldThrow()
        {
            // arrange
            var builder = new QueryStringBuilder();

            // act
            Action result = () => builder.Add(null, "bar");

            // assert
            Assert.Throws <ArgumentNullException>("name", result);
        }
        public void BuildQueryParam_LongType_ParseLong()
        {
            // Arrange
            QueryStringBuilder queryString = new QueryStringBuilder();

            // Act
            string longStr = queryString.BuildQueryParam(43145123456L);

            // Assert
            Assert.AreEqual("43145123456", longStr);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="credentials"></param>
        /// <param name="notificationCode"></param>
        /// <returns></returns>
        private static string BuildSearchUrlByNotification(Credentials credentials, string notificationCode)
        {
            QueryStringBuilder searchUrlByNotification;

            searchUrlByNotification = new QueryStringBuilder("{url}/notifications/{notificationCode}?{credential}");
            searchUrlByNotification.ReplaceValue("{url}", PagSeguroConfiguration.PreApprovalSearchUri.AbsoluteUri);
            searchUrlByNotification.ReplaceValue("{notificationCode}", HttpUtility.UrlEncode(notificationCode));

            searchUrlByNotification.ReplaceValue("{credential}", new QueryStringBuilder().EncodeCredentialsAsQueryString(credentials).ToString());
            return(searchUrlByNotification.ToString());
        }
Beispiel #28
0
        /// <summary>
        /// Creates or updates a user or group. The user or group (that is, the principal) is created or
        /// updated in the same account as the user making the call.
        /// </summary>
        /// <param name="principalDelete">The principal setup.</param>
        /// <returns>Status Info.</returns>
        public PrincipalResult PrincipalDelete(PrincipalDelete principalDelete)
        {
            // action=principals-delete
            var commandParams = QueryStringBuilder.EntityToQueryString(principalDelete);

            StatusInfo status;

            var doc = this.requestProcessor.Process(Commands.Principal.Delete, commandParams, out status);

            return(new PrincipalResult(status, PrincipalParser.Parse(doc)));
        }
        public async Task <IEXResponse <SentimentResponse> > SentimentByDayAsync(string symbol, string date)
        {
            const string urlPattern = "stock/[symbol]/sentiment/daily/[date]";

            var qsb     = new QueryStringBuilder();
            var pathNvc = new NameValueCollection {
                { "symbol", symbol }, { "date", date }
            };

            return(await executor.ExecuteAsync <SentimentResponse>(urlPattern, pathNvc, qsb));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="credentials"></param>
        /// <param name="preApprovalCode"></param>
        /// <returns></returns>
        private static string BuildSearchUrlByCode(Credentials credentials, string preApprovalCode)
        {
            QueryStringBuilder searchUrlByCode;

            searchUrlByCode = new QueryStringBuilder("{url}/{preApprovalCode}?{credential}");
            searchUrlByCode.ReplaceValue("{url}", PagSeguroConfiguration.PreApprovalSearchUri.AbsoluteUri);
            searchUrlByCode.ReplaceValue("{preApprovalCode}", HttpUtility.UrlEncode(preApprovalCode));

            searchUrlByCode.ReplaceValue("{credential}", new QueryStringBuilder().EncodeCredentialsAsQueryString(credentials).ToString());
            return(searchUrlByCode.ToString());
        }
        public void BuildQueryParam_DoubleType_ParseDouble()
        {
            // Arrange
            QueryStringBuilder queryString = new QueryStringBuilder();

            // Act
            string doubleStr = queryString.BuildQueryParam(1234.5678);

            // Assert
            Assert.AreEqual("1234.5678", doubleStr);
        }
        public void BuildQueryParam_QuotedStringType_ParseString()
        {
            // Arrange
            QueryStringBuilder queryString = new QueryStringBuilder();

            // Act
            string strStr = queryString.BuildQueryParam("Haystack");

            // Assert
            Assert.AreEqual("\"Haystack\"", strStr);
        }
        public void NewBuilderShouldBeEmpty()
        {
            // arrange
            var builder = new QueryStringBuilder();

            // act
            var result = builder.ToString();

            // assert
            Assert.Equal("", result);
        }
        private static String BuildInstallmentURL(Credentials credentials, Decimal amount, String cardBrand)
        {
            QueryStringBuilder builder = new QueryStringBuilder("{url}?{credentials}&amount={amount}&cardBrand={cardBrand}");

            builder.ReplaceValue("{url}", PagSeguroConfiguration.InstallmentUri.AbsoluteUri);
            builder.ReplaceValue("{credentials}", new QueryStringBuilder().EncodeCredentialsAsQueryString(credentials).ToString());
            builder.ReplaceValue("{amount}", PagSeguroUtil.DecimalFormat(amount));
            builder.ReplaceValue("{cardBrand}", HttpUtility.UrlEncode(cardBrand.ToString()));

            return(builder.ToString());
        }
        public void BuildQueryParam_IntType_ParseInt()
        {
            // Arrange
            QueryStringBuilder queryString = new QueryStringBuilder();

            // Act
            string intStr = queryString.BuildQueryParam(123);

            // Assert
            Assert.AreEqual("123", intStr);
        }
        public void BuilderWithNullValuesShouldThrow()
        {
            // arrange
            var builder = new QueryStringBuilder();

            // act
            Action result = () => builder.Add("foo", new string[] { null });

            // assert
            Assert.Throws <ArgumentNullException>("value", result);
        }
        public void BuilderWithRemoveNullShouldThrow()
        {
            // arrange
            var builder = new QueryStringBuilder();

            // act
            Action result = () => builder.Remove(null);

            // assert
            Assert.Throws <ArgumentNullException>("name", result);
        }
        static void Main(string[] args)
        {
            QueryStringBuilder qsb = new QueryStringBuilder("http//fkj.dk");

            qsb.Add("x", 5);
            qsb.Add("y", "23 23");
            qsb.Add("z", 9);


            Console.WriteLine((qsb.ToString()));
        }
Beispiel #39
0
        public void BuildQueryParam_EnumType_ParseEnum()
        {
            // Arrange
            QueryStringBuilder queryString = new QueryStringBuilder();

            // Act
            string enumStr = queryString.FormatQueryParam(TestEnum.DISABLED);

            // Assert
            Assert.Equal("DISABLED", enumStr);
        }
        public void can_build_query_string_from_object_template_with_collections()
        {
            var qs = new QueryStringBuilder(new
            {
                name = "Homer",
                kids = new string[] { "Bart", "Lisa", "Maggie" },
                ages = new int[] { 42 }
            });

            Assert.Equal("?name=Homer&kids=Bart&kids=Lisa&kids=Maggie&ages=42", qs.ToString());
        }
Beispiel #41
0
        public ActionResult SignInBusiness()
        {
            QueryStringBuilder builder = new QueryStringBuilder();
            builder.Add("client_id", ConfigurationManager.AppSettings["ida:AADAppId"]);
            builder.Add("response_type", "code");
            builder.Add("redirect_uri", whois.RedirectUri);
            builder.Add("state", "business");

            string targetUrl = ConfigurationManager.AppSettings["ida:AADAuthService"] + builder.ToString();
            return Redirect(targetUrl);
        }
Beispiel #42
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="credentials"></param>
        /// <param name="reference"></param>
        /// <returns></returns>
        private static string BuildSearchUrlByReference(Credentials credentials, string reference)
        {
            QueryStringBuilder searchUrlByReference;

            searchUrlByReference = new QueryStringBuilder("{url}?{credentials}&reference={reference}");
            searchUrlByReference.ReplaceValue("{url}", PagSeguroConfiguration.SearchUri.AbsoluteUri);
            searchUrlByReference.ReplaceValue("{reference}", HttpUtility.UrlEncode(reference));
            searchUrlByReference.ReplaceValue("{credentials}", new QueryStringBuilder().EncodeCredentialsAsQueryString(credentials).ToString());

            return(searchUrlByReference.ToString());
        }
        public void Test_Parameter_With_No_Value_Does_Not_Appear_In_Query_String()
        {
            QueryStringBuilder qsb = new QueryStringBuilder();
            qsb.AddParameter("q", "environment");
            qsb.AddParameter("filter", "uk");
            qsb.AddParameter("", "blank");
            qsb.AddParameter(null, "blank");
            qsb.AddParameter("blank", "");
            qsb.AddParameter("", "");

            Assert.AreEqual("?q=environment&filter=uk", qsb.GetQueryString());
        }
        public void Adding_multiple_items_should_separate_them_with_ampersand()
        {
            // Arrange
            var builder = new QueryStringBuilder();
            builder.Add("foo", "bar");

            // Act
            builder.Add("haha", "lala");

            // Assert
            builder.ToString().ShouldBe("?foo=bar&haha=lala");
        }
 public void ToStringTest()
 {
     var sb = new QueryStringBuilder
     {
         {"t", "test test"},
         {"tl", "en-US"},
         {"sv", "g1"},
         {"vn", "rjs"},
         {"pitch", 0.5},
         {"rate", 0.5},
         {"vol", 1}
     };
     const string expected = "?t=test+test&tl=en-US&sv=g1&vn=rjs&pitch=0.5&rate=0.5&vol=1";
     Assert.AreEqual(expected, sb.ToString());
 }
 public async Task DeleteAsync(string path)
 {
     if (path == null) throw new ArgumentNullException("path");
     var qs = new QueryStringBuilder { { "path", path } };
     var resp = await _client.DeleteAsync(qs.ToString()).ConfigureAwait(false);
     await EnsureSuccess(resp);
 }
 public void Test_Format_Date()
 {
     QueryStringBuilder qsb = new QueryStringBuilder();
     DateTime dt = new DateTime(2009, 1, 30);
     Assert.AreEqual("2009-01-30", qsb.FormatDate(dt));
 }
        public async Task<Stream> GetStreamAsync(string path)
        {
            if (path == null) throw new ArgumentNullException("path");

            var qs = new QueryStringBuilder { { "path", path } };

            var resp = await _client.GetAsync(qs.ToString()).ConfigureAwait(false);
            await EnsureSuccess(resp);

            return await resp.Content.ReadAsStreamAsync().ConfigureAwait(false);
        }
        public async Task AppendFromStreamAsync(string path, Stream stream)
        {
            if (path == null) throw new ArgumentNullException("path");
            if (stream == null) throw new ArgumentNullException("stream");

            var content = new StreamContent(stream);
            var qs = new QueryStringBuilder { { "path", path } };
            var resp = await _client.SendAsync("PATCH", qs.ToString(), content).ConfigureAwait(false);
            await EnsureSuccess(resp);
        }
 public void AppendToUrlWithEmptyBuilder()
 {
     var builder = new QueryStringBuilder();
     var baseUrl = "http://localhost/default.aspx";
     Assert.That(builder.AppendToUrl(baseUrl), Is.EqualTo("http://localhost/default.aspx"));
 }
 public SetEnumerableStringTarget(QueryStringBuilder builder)
     : base(builder)
 {
 }
 protected BaseRetrievalService(IEncentivizeRestClient restClient, EntitySettings entitySettings)
     : base(restClient, entitySettings)
 {
     QueryStringBuilder = new QueryStringBuilder(propertiesToExclude: new[] { "PageNumber", "PageSize" });
 }
        public void Test_No_Parameters_Returns_Empty_String()
        {
            QueryStringBuilder qsb = new QueryStringBuilder();

            Assert.IsEmpty(qsb.GetQueryString());
        }
 public QueryBuilderTest()
 {
     _queryStringBuilder = new QueryStringBuilder();
 }
        /// <summary>
        /// Common implmentation of all SearchByDate methods
        /// </summary>
        /// <param name="credentials">PagSeguro credentials. Required.</param>
        /// <param name="initialDate"></param>
        /// <param name="finalDate">End of date range. Use DateTime.MaxValue to search without an upper boundary.</param>
        /// <param name="pageNumber">Page number, starting with 1. If passed as 0, it will call the web service to get the default page, also page number 1.</param>
        /// <param name="resultsPerPage">Results per page, optional.</param>
        /// <returns></returns>
        private static TransactionSearchResult SearchByDateCore(Credentials credentials, DateTime initialDate, DateTime finalDate, int pageNumber, int resultsPerPage)
        {
            UriBuilder uriBuilder = new UriBuilder(PagSeguroConfiguration.SearchUri);

            QueryStringBuilder query = new QueryStringBuilder(ServiceHelper.EncodeCredentialsAsQueryString(credentials));

            query.Append(InitialDateParameterName, initialDate);

            if (finalDate < DateTime.MaxValue)
            {
                query.Append(FinalDateParameterName, finalDate);
            }

            if (pageNumber > 0)
            {
                query.Append(PageNumberParameterName, pageNumber);
            }

            if (resultsPerPage > 0)
            {
                query.Append(MaxPageResultsParameterName, resultsPerPage);
            }

            uriBuilder.Query = query.ToString();

            PagSeguroTrace.Info(String.Format(CultureInfo.InvariantCulture, "TransactionSearchService.SearchByDate(initialDate={0}, finalDate={1}) - begin", initialDate, finalDate));

            WebRequest request = WebRequest.Create(uriBuilder.Uri);
            request.Method = ServiceHelper.GetMethod;
            request.Timeout = PagSeguroConfiguration.RequestTimeout;

            try
            {
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    using (XmlReader reader = XmlReader.Create(response.GetResponseStream()))
                    {
                        TransactionSearchResult result = new TransactionSearchResult();
                        TransactionSearchResultSerializer.Read(reader, result);
                        PagSeguroTrace.Info(String.Format(CultureInfo.InvariantCulture, "TransactionSearchService.SearchByDate(initialDate={0}, finalDate={1}) - end {2}", initialDate, finalDate, result));
                        return result;
                    }
                }
            }
            catch (WebException exception)
            {
                PagSeguroServiceException pse = ServiceHelper.CreatePagSeguroServiceException((HttpWebResponse)exception.Response);
                PagSeguroTrace.Error(String.Format(CultureInfo.InvariantCulture, "TransactionSearchService.SearchByDate(initialDate={0}, finalDate={1}) - error {2}", initialDate, finalDate, pse));
                throw pse;
            }
        }