extract method

  1. @override
Future<Result<T, Rejection>> extract(
  1. Request request
)
override

Produces the value, or the rejection that stops the handler.

Implementation

@override
Future<Result<T, Rejection>> extract(Request request) async {
  switch (await inner.extract(request)) {
    case Err(:final error):
      return Err(error);
    case Ok(:final value):
      final rejection = value.validate().rejection;
      return rejection == null ? Ok(value) : Err(rejection);
  }
}