onBefore method
Called before navigation to the route.
Return next to continue navigation, or redirect/abort to stop.
Example:
@override
Future<GuardResult> onBefore(RouteContext context) async {
if (!await hasPermission()) {
return redirect('/unauthorized');
}
return next();
}
Implementation
@override
Future<GuardResult> onBefore(RouteContext context) async {
if (!condition(context)) {
return next();
}
guard.setRouteContext(context);
final result = await guard.onBefore(context);
if (guard.redirectConfig != null) {
_redirectConfig = guard.redirectConfig;
}
if (guard.hasModifiedData) {
setData(guard.modifiedData);
}
return result;
}