Skip to content

Commit

Permalink
changes in the AddAbsoluteUrl method for handeling uri
Browse files Browse the repository at this point in the history
  • Loading branch information
amin authored and amin committed Aug 12, 2023
1 parent 9a6a092 commit d6c4fce
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
14 changes: 9 additions & 5 deletions src/HttpClientToCurl/Builder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,23 @@ internal static StringBuilder Initialize(HttpMethod httpMethod)

internal static StringBuilder AddAbsoluteUrl(this StringBuilder stringBuilder, string inputBaseAddress, Uri inputRequestUri)
{
Uri requestUri = null;
string requestUri;
Uri baseAddressUri = Helpers.CreateUri(inputBaseAddress);
bool baseAddressIsAbsoluteUri = Helpers.CheckAddressIsAbsoluteUri(baseAddressUri);
bool requestUriIsAbsoluteUri = Helpers.CheckAddressIsAbsoluteUri(inputRequestUri);

if (inputRequestUri is null && baseAddressUri is not null && baseAddressIsAbsoluteUri)
requestUri = baseAddressUri;
requestUri = baseAddressUri.ToString();
else if (baseAddressUri is null && inputRequestUri is not null && requestUriIsAbsoluteUri)
requestUri = inputRequestUri;
requestUri = inputRequestUri.ToString();
else if (baseAddressUri is not null && inputRequestUri is not null && baseAddressIsAbsoluteUri && !requestUriIsAbsoluteUri)
requestUri = new Uri(baseAddressUri, inputRequestUri);
requestUri = new Uri(baseAddressUri, inputRequestUri).ToString();
else if (baseAddressUri is not null && inputRequestUri is not null && baseAddressIsAbsoluteUri)
requestUri = inputRequestUri;
requestUri = inputRequestUri.ToString();
else if (baseAddressUri is null && inputRequestUri is null)
requestUri = null;
else
requestUri = $"{baseAddressUri}{inputRequestUri}";

return stringBuilder
.Append($"{requestUri}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ public void GenerateCurl_When_BaseAddress_Is_Null_PostMethod()
script.Should().StartWith("curl -X POST");
script.Trim().Should()
.BeEquivalentTo(
@"curl -X POST -H 'Authorization: Bearer 4797c126-3f8a-454a-aff1-96c0220dae61' -H 'Content-Type: application/json; charset=utf-8' -d '{""name"":""nancy"",""requestId"":10001006,""amount"":70000}'");
@"curl -X POST api/test -H 'Authorization: Bearer 4797c126-3f8a-454a-aff1-96c0220dae61' -H 'Content-Type: application/json; charset=utf-8' -d '{""name"":""nancy"",""requestId"":10001006,""amount"":70000}'");
}

[Theory]
Expand Down

0 comments on commit d6c4fce

Please sign in to comment.