add method

RouteData add(
  1. String method,
  2. String path,
  3. Handler handler, {
  4. List<Middleware> middleware = const [],
  5. String? name,
})

Registers a standard HTTP route and returns its RouteData.

Implementation

RouteData add(String method, String path, Handler handler, {List<Middleware> middleware = const [], String? name}) {
  final fullPath = '$_buildingPrefix$path'.replaceAll('//', '/');
  final allMiddleware = List<Middleware>.from(_buildingMiddleware)..addAll(middleware);

  if (name != null) {
    _namedRoutes[name] = fullPath;
  }

  final data = RouteData(
    handler: handler,
    middleware: allMiddleware,
    name: name,
    method: method.toUpperCase(),
    path: fullPath
  );
  _registerRoute(fullPath, method, data);
  return data;
}