예제 #1
0
        /// <inheritdoc />
        /// <summary>
        /// Replace the request query with a collection of parameters.
        /// </summary>
        protected override Task <IRestResponse> ExecuteRawResquestAsync(IRestRequest request, CancellationToken token)
        {
            Uri fullPath = new Uri(RestSharpClient.BaseUrl, request.Resource);

            // Move the query parameters to the request parameters.
            if (!string.IsNullOrEmpty(fullPath.Query))
            {
                request.Parameters.AddRange(QueryParametersHelper.GetQueryParametersFromPath(fullPath.Query));

                request.Resource = request.Resource.Replace(fullPath.Query, string.Empty);
            }

            return(base.ExecuteRawResquestAsync(request, token));
        }
예제 #2
0
        public void GetQueryParametersFromPathMultipleEquals()
        {
            // Arrange
            var url = "?field1=value=string==";

            // Act
            var parameters = QueryParametersHelper.GetQueryParametersFromPath(url);

            // Assert
            Assert.NotNull(parameters);
            Assert.Equal(parameters.Count(), 1);

            Assert.Equal(parameters.First().Name, "field1");
            Assert.Equal(parameters.First().Value, "value=string==");
        }
예제 #3
0
        public void GetQueryParametersFromPathNoEqual()
        {
            // Arrange
            var url = "?field1";

            // Act
            var parameters = QueryParametersHelper.GetQueryParametersFromPath(url);

            // Assert
            Assert.NotNull(parameters);
            Assert.Equal(parameters.Count(), 1);

            Assert.Equal(parameters.First().Name, "field1");
            Assert.Equal(parameters.First().Value, "");
        }
예제 #4
0
        public void GetQueryParametersFromPath()
        {
            // Arrange
            var url = "?field1=9&field2=Test";

            // Act
            var parameters = QueryParametersHelper.GetQueryParametersFromPath(url);

            // Assert
            Assert.NotNull(parameters);
            Assert.Equal(parameters.Count(), 2);

            Assert.Equal(parameters.First().Name, "field1");
            Assert.Equal(parameters.First().Value, "9");

            Assert.Equal(parameters.ElementAt(1).Name, "field2");
            Assert.Equal(parameters.ElementAt(1).Value, "Test");
        }