Skip to content

Commit d03f67a

Browse files
committed
refactor: use StringBuilder in SearchUriBuilder
for better readability and potentially improved performance
1 parent d90978c commit d03f67a

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using CompaniesHouse.Request;
1+
using System.Text;
2+
using CompaniesHouse.Request;
23

34
namespace CompaniesHouse.UriBuilders;
45

@@ -10,13 +11,13 @@ public SearchCompanyUriBuilder(string path) : base(path)
1011

1112
protected override string BuildQuery(SearchCompanyRequest request)
1213
{
13-
var query = base.BuildQuery(request);
14+
var queryBuilder = new StringBuilder(base.BuildQuery(request));
1415

1516
if (!string.IsNullOrWhiteSpace(request.Restrictions))
1617
{
17-
query += "&restrictions=" + request.Restrictions;
18+
queryBuilder.Append($"&restrictions={Uri.EscapeDataString(request.Restrictions)}");
1819
}
1920

20-
return query;
21+
return queryBuilder.ToString();
2122
}
2223
}

src/CompaniesHouse/UriBuilders/SearchUriBuilder.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System.Text;
22
using CompaniesHouse.Request;
33

44
namespace CompaniesHouse.UriBuilders
@@ -23,19 +23,19 @@ public Uri Build(TSearch request)
2323

2424
protected virtual string BuildQuery(TSearch request)
2525
{
26-
var query = $"?q={Uri.EscapeDataString(request.Query)}";
26+
var queryBuilder = new StringBuilder($"?q={Uri.EscapeDataString(request.Query)}");
2727

2828
if (request.ItemsPerPage.HasValue)
2929
{
30-
query += "&items_per_page=" + request.ItemsPerPage.Value;
30+
queryBuilder.Append($"&items_per_page={request.ItemsPerPage.Value}");
3131
}
3232

3333
if (request.StartIndex.HasValue)
3434
{
35-
query += "&start_index=" + request.StartIndex.Value;
35+
queryBuilder.Append($"&start_index={request.StartIndex.Value}");
3636
}
3737

38-
return query;
38+
return queryBuilder.ToString();
3939
}
4040
}
4141
}

0 commit comments

Comments
 (0)