uri property
Uri
get
uri
Implementation
Uri get uri {
final parsed = Uri.parse('$baseUrl/$path').normalizePath();
/// The explicit [query] is applied last so it wins over any parameters
/// already embedded in [path].
final merged = <String, String>{
...parsed.queryParameters,
...query.map((key, value) => MapEntry(key, '$value')),
};
return parsed.replace(
pathSegments: parsed.pathSegments
.where((element) => element.isNotEmpty)
.toList(),
// Passing an empty map would append a bare '?' to every URL that has no
// query parameters; null leaves the (empty) query untouched.
queryParameters: merged.isEmpty ? null : merged,
);
}