toMiddleware method

  1. @override
Middleware toMiddleware()
override

Builds the shelf middleware this value configures.

Implementation

@override
Middleware toMiddleware() {
  return (Handler inner) {
    return (Request request) async {
      try {
        return await Future.value(inner(request)).timeout(budget);
      } on TimeoutException {
        onTimeout?.call(request);
        return Rejection.status(
          503,
          'the request did not complete within '
          '${budget.inMilliseconds}ms',
        ).intoResponse();
      }
    };
  };
}