toUrl method

String toUrl({
  1. Map<String, String>? parameters,
  2. Map<String, String>? queryParameters,
  3. String? fragment,
})

Implementation

String toUrl({
  Map<String, String>? parameters,
  Map<String, String>? queryParameters,
  String? fragment,
}) {
  // Don't pass parameters to parent URL. These are populated only once the
  // complete URL has been constructed.
  final parent = this.parent;
  final parentUrl = parent != null ? parent.toUrl() : '/';
  var url = Location.joinWithSlash(parentUrl, path);
  if (parameters != null) {
    for (final entry in parameters.entries) {
      url = url.replaceFirst(
        ':${entry.key}',
        Uri.encodeComponent(entry.value),
      );
    }
  }
  return Url(url, queryParameters: queryParameters, fragment: fragment)
      .toString();
}