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 extension method for peeking queues
### Changed
- IcdUriBuilder constructors behave closer to UriBuilder, Host defaults to "localhost"
## [9.3.0] - 2019-04-16
### Added

View File

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

View File

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