fix: IcdUriBuilder constructors behave closer to UriBuilder, Host defaults to "localhost"

This commit is contained in:
Chris Cameron
2019-05-01 16:33:09 -04:00
parent 66f4e797ed
commit 78c20201ab
3 changed files with 14 additions and 12 deletions

View File

@@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Added ### Added
- Added extension method for peeking queues - Added extension method for peeking queues
### Changed
- IcdUriBuilder constructors behave closer to UriBuilder, Host defaults to "localhost"
## [9.3.0] - 2019-04-16 ## [9.3.0] - 2019-04-16
### Added ### Added

View File

@@ -63,14 +63,14 @@ namespace ICD.Common.Utils.Tests
#endregion #endregion
[TestCase("http://localhost/", null, null, null, null, (ushort)0, null, null, null)] [TestCase("http:///", null, null, null, null, (ushort)0, null, null, null)]
[TestCase("http://localhost:80/", null, null, null, null, (ushort)80, null, null, null)] [TestCase("http://localhost:80/", null, "localhost", null, null, (ushort)80, null, null, null)]
[TestCase("http://username@localhost/", null, null, null, null, (ushort)0, null, null, "username")] [TestCase("http://username@localhost/", null, "localhost", null, null, (ushort)0, null, null, "username")]
[TestCase("http://localhost/", null, null, "password", null, (ushort)0, null, null, null)] [TestCase("http://localhost/", null, "localhost", "password", null, (ushort)0, null, null, null)]
[TestCase("https://localhost/", null, null, null, null, (ushort)0, null, "https", null)] [TestCase("https://localhost/", null, "localhost", null, null, (ushort)0, null, "https", null)]
[TestCase("http://localhost/test", null, null, null, "test", (ushort)0, null, null, null)] [TestCase("http://localhost/test", null, "localhost", null, "test", (ushort)0, null, null, null)]
[TestCase("http://localhost/test", null, null, null, "/test", (ushort)0, null, null, null)] [TestCase("http://localhost/test", null, "localhost", null, "/test", (ushort)0, null, null, null)]
[TestCase("http://localhost//test", null, null, null, "//test", (ushort)0, null, null, null)] [TestCase("http://localhost//test", null, "localhost", null, "//test", (ushort)0, null, null, null)]
public void ToStringTest(string expected, string fragment, string address, string password, string path, ushort port, public void ToStringTest(string expected, string fragment, string address, string password, string path, ushort port,
string query, string scheme, string userName) string query, string scheme, string userName)
{ {

View File

@@ -66,7 +66,7 @@ namespace ICD.Common.Utils
/// Constructor. /// Constructor.
/// </summary> /// </summary>
public IcdUriBuilder() public IcdUriBuilder()
: this((Uri)null) : this(new Uri("http://localhost/"))
{ {
} }
@@ -86,7 +86,7 @@ namespace ICD.Common.Utils
public IcdUriBuilder(Uri uri) public IcdUriBuilder(Uri uri)
{ {
if (uri == null) if (uri == null)
return; throw new ArgumentNullException("uri");
if (!uri.IsAbsoluteUri) if (!uri.IsAbsoluteUri)
uri = new Uri(Uri.UriSchemeHttp + Uri.SchemeDelimiter + uri); uri = new Uri(Uri.UriSchemeHttp + Uri.SchemeDelimiter + uri);
@@ -134,8 +134,7 @@ namespace ICD.Common.Utils
builder.Append('@'); builder.Append('@');
} }
string host = string.IsNullOrEmpty(Host) ? "localhost" : Host; builder.Append(Host);
builder.Append(host);
if (Port != 0) if (Port != 0)
{ {