addBefore method

void addBefore(
  1. String targetName,
  2. MiddlewareHandler handler, {
  3. String? name,
})

Adds a middleware before a specific named middleware.

Implementation

void addBefore(String targetName, MiddlewareHandler handler, {String? name}) {
  if (!_namedMiddleware.containsKey(targetName)) {
    throw MiddlewareNotFoundException(
      'Named middleware not found: $targetName',
    );
  }

  final target = _namedMiddleware[targetName]!;
  final middleware =
      Middleware(handler, priority: target.priority, name: name);
  final index = _middleware.indexOf(target);
  _middleware.insert(index, middleware);

  if (name != null) {
    _namedMiddleware[name] = middleware;
  }
}