From 5358345b5c7caa30df1de6ae652c83bfcf16193d Mon Sep 17 00:00:00 2001 From: Michael Friis Date: Fri, 30 Dec 2011 17:39:24 +0100 Subject: [PATCH 1/3] don't add trailing slash if assembled is null --- RestSharp/RestClient.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/RestSharp/RestClient.cs b/RestSharp/RestClient.cs index 991ad97a2..2a0e873dc 100644 --- a/RestSharp/RestClient.cs +++ b/RestSharp/RestClient.cs @@ -304,8 +304,17 @@ public Uri BuildUri(IRestRequest request) assembled = assembled.Substring(1); } - if(!string.IsNullOrEmpty(BaseUrl)) - assembled = string.Format("{0}/{1}", BaseUrl, assembled); + if (!string.IsNullOrEmpty(BaseUrl)) + { + if (string.IsNullOrEmpty(assembled)) + { + assembled = BaseUrl; + } + else + { + assembled = string.Format("{0}/{1}", BaseUrl, assembled); + } + } if (request.Method != Method.POST && request.Method != Method.PUT && request.Method != Method.PATCH) { From ce38a1df49a2c2adea9f0826326eb6bbd71261f4 Mon Sep 17 00:00:00 2001 From: Michael Friis Date: Tue, 24 Jan 2012 21:57:41 -0800 Subject: [PATCH 2/3] add unit test to test with empty request --- RestSharp.Tests/UrlBuilderTests.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/RestSharp.Tests/UrlBuilderTests.cs b/RestSharp.Tests/UrlBuilderTests.cs index 8ccc62aa7..799f6edcb 100644 --- a/RestSharp.Tests/UrlBuilderTests.cs +++ b/RestSharp.Tests/UrlBuilderTests.cs @@ -110,5 +110,17 @@ public void POST_with_resource_containing_tokens() Assert.Equal(expected, output); } + [Fact] + public void GET_with_empty_request() + { + var request = new RestRequest(); + var client = new RestClient("http://example.com/resource"); + + var expected = new Uri("http://example.com/resource"); + var output = client.BuildUri(request); + + Assert.Equal(expected, output); + } + } } From 0f3aba6524bf99d73c36a981d59be7cec9e399d3 Mon Sep 17 00:00:00 2001 From: Michael Friis Date: Tue, 24 Jan 2012 22:00:52 -0800 Subject: [PATCH 3/3] add unit test to test empty request and bare hostname --- RestSharp.Tests/UrlBuilderTests.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/RestSharp.Tests/UrlBuilderTests.cs b/RestSharp.Tests/UrlBuilderTests.cs index 799f6edcb..b4cb3d5d3 100644 --- a/RestSharp.Tests/UrlBuilderTests.cs +++ b/RestSharp.Tests/UrlBuilderTests.cs @@ -122,5 +122,17 @@ public void GET_with_empty_request() Assert.Equal(expected, output); } + [Fact] + public void GET_with_empty_request_and_bare_hostname() + { + var request = new RestRequest(); + var client = new RestClient("http://example.com"); + + var expected = new Uri("http://example.com/"); + var output = client.BuildUri(request); + + Assert.Equal(expected, output); + } + } }