mount method

void mount(
  1. String prefix,
  2. Handler handler
)

Mount a handler below a prefix.

In this case prefix may not contain any parameters, nor

Implementation

void mount(String prefix, Handler handler) {
  if (!prefix.startsWith('/')) {
    throw ArgumentError.value(prefix, 'prefix', 'must start with a slash');
  }

  // first slash is always in request.handlerPath
  final path = prefix.substring(1);
  if (prefix.endsWith('/')) {
    all('$prefix<path|[^]*>', (Request request) {
      return handler(request.change(path: path));
    });
  } else {
    all(prefix, (Request request) {
      return handler(request.change(path: path));
    });
    all('$prefix/<path|[^]*>', (Request request) {
      return handler(request.change(path: '$path/'));
    });
  }
}