timeout method

Route timeout(
  1. Duration duration
)

answer 503 when the route added last takes longer than duration. It covers its middleware too. See RequestTimeout.

Route.get('report', controller).timeout(Duration(seconds: 30));

Implementation

Route timeout(Duration duration) {
  RouteData? last = _last;
  if (last == null) {
    throw StateError('Route.timeout(): there is no route to time.');
  }
  for (RouteData data in _lastGroup ?? <RouteData>[last]) {
    (data.controllers as List<dynamic>).insert(0, RequestTimeout(duration));
  }
  return this;
}