deriveEndpointTemplate function

String deriveEndpointTemplate(
  1. String url
)

The path of a resolved URL with every identifying segment replaced by {id} and the query dropped.

Implementation

String deriveEndpointTemplate(String url) {
  var path = url;
  final scheme = path.indexOf('://');
  if (scheme >= 0) {
    final slash = path.indexOf('/', scheme + 3);
    path = slash < 0 ? '/' : path.substring(slash);
  }
  for (final delimiter in const <String>['?', '#']) {
    final mark = path.indexOf(delimiter);
    if (mark >= 0) path = path.substring(0, mark);
  }
  return path.split('/').map(_templateSegment).join('/');
}