Route(String method, Pattern path, [List handlers])

Source

Route(String method, Pattern path, [List handlers]) {
  this.method = method;
  if (path is RegExp) {
    this.matcher = path;
    this.path = path.pattern;
  }
  else {
    this.matcher = new RegExp('^' +
        path.toString()
            .replaceAll(new RegExp(r'\/\*$'), "*")
            .replaceAll(new RegExp('\/'), r'\/')
            .replaceAll(new RegExp(':[a-zA-Z_]+'), '([^\/]+)')
            .replaceAll(new RegExp('\\*'), '.*')
        + r'$');
    this.path = path;
  }

  if (handlers != null) {
    this.handlers.addAll(handlers);
  }
}