extract method
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);
}
}