onRequest method
Legacy method override for backward compatibility. Delegates to the new onBefore lifecycle method.
Implementation
@override
Future<PageRequest?> onRequest(PageRequest pageRequest) async {
final routeContext = pageRequest.toRouteContext(routeName ?? '');
setRouteContext(routeContext);
final result = await onBefore(routeContext);
if (result == GuardResult.handled) {
if (_redirectConfig != null) {
return PageRequest.redirect(
_redirectConfig!.path,
data: _redirectConfig!.data,
queryParameters: _redirectConfig!.queryParameters,
navigationType: _redirectConfig!.navigationType,
result: _redirectConfig!.result,
removeUntilPredicate: _redirectConfig!.removeUntilPredicate,
onPop: _redirectConfig!.onPop,
);
}
// Aborted without redirect
return PageRequest()..isRedirect = true;
}
// Continue to next guard, possibly with modified data
if (_hasModifiedData) {
pageRequest.addData((_) => _modifiedData);
}
return null;
}