extract method
Produces the value, or the rejection that stops the handler.
Implementation
@override
Future<Result<Option<T>, Rejection>> extract(Request request) async {
final outcome = await inner.extract(request);
return switch (outcome) {
Ok(:final value) => Ok(Some(value)),
Err(:final error) when error.status >= 500 => Err(error),
Err() => Ok(None<T>()),
};
}