Skip to content

Commit 7af237d

Browse files
authored
Add query param extensions for nullable strings and objects (#17)
1 parent 055482f commit 7af237d

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

src/FluentHttpClient/HttpRequestBuilderExtensions.cs

+16-4
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,27 @@ public static HttpRequestBuilder WithRequestTimeout(this HttpRequestBuilder buil
8686
return builder;
8787
}
8888

89-
public static HttpRequestBuilder WithQueryParam(this HttpRequestBuilder builder, string key, string value)
89+
public static HttpRequestBuilder WithQueryParam(this HttpRequestBuilder builder, string key, string? value)
9090
{
91-
builder.QueryParams.Add(key, value);
91+
builder.QueryParams.Add(key, (value != null) ? value : string.Empty);
9292
return builder;
9393
}
9494

95-
public static HttpRequestBuilder WithQueryParams(this HttpRequestBuilder builder, IEnumerable<KeyValuePair<string, string>> queryParams)
95+
public static HttpRequestBuilder WithQueryParam(this HttpRequestBuilder builder, string key, object? value)
9696
{
97-
foreach (var param in queryParams) builder.QueryParams.Add(param.Key, param.Value);
97+
builder.QueryParams.Add(key, (value != null) ? value.ToString() : string.Empty);
98+
return builder;
99+
}
100+
101+
public static HttpRequestBuilder WithQueryParams(this HttpRequestBuilder builder, IEnumerable<KeyValuePair<string, string?>> queryParams)
102+
{
103+
foreach (var param in queryParams) builder.QueryParams.Add(param.Key, (param.Value != null) ? param.Value : string.Empty);
104+
return builder;
105+
}
106+
107+
public static HttpRequestBuilder WithQueryParams(this HttpRequestBuilder builder, IEnumerable<KeyValuePair<string, object?>> queryParams)
108+
{
109+
foreach (var param in queryParams) builder.QueryParams.Add(param.Key, (param.Value != null) ? param.Value.ToString() : string.Empty);
98110
return builder;
99111
}
100112

0 commit comments

Comments
 (0)