File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import 'dart:async' ;
2-
32import 'package:appetizer/data/constants/constants.dart' ;
43import 'package:appetizer/data/services/local/local_storage_service.dart' ;
54import 'package:appetizer/domain/models/user/user.dart' ;
Original file line number Diff line number Diff line change 11import 'dart:async' ;
2-
2+ import 'package:appetizer/data/constants/constants.dart' ;
3+ import 'package:appetizer/data/services/local/local_storage_service.dart' ;
4+ import 'package:appetizer/presentation/app/bloc/app_bloc.dart' ;
5+ import 'package:appetizer/utils/app_extensions/app_extensions.dart' ;
36import 'package:dio/dio.dart' ;
4- import 'package:flutter/foundation.dart' ;
7+ import 'package:flutter/material.dart' ;
8+ import 'package:flutter_bloc/flutter_bloc.dart' ;
59
610class AuthInterceptor extends Interceptor {
711 ValueGetter <FutureOr <String ?>>? getToken;
812
9- AuthInterceptor ({this .getToken});
13+ AuthInterceptor ({
14+ this .getToken,
15+ });
1016
1117 @override
1218 void onRequest (
@@ -22,4 +28,22 @@ class AuthInterceptor extends Interceptor {
2228
2329 return super .onRequest (options, handler);
2430 }
31+
32+ @override
33+ void onError (DioException err, ErrorInterceptorHandler handler) {
34+ if (err.response? .statusCode == 401 ) {
35+ LocalStorageService .setValue (key: AppConstants .LOGGED_IN , value: false );
36+ LocalStorageService .setValue (key: AppConstants .AUTH_TOKEN , value: null );
37+ if (BaseApp .currentContext != null ) {
38+ const snackBar =
39+ SnackBar (content: Text ('User is inactive or unauthorized!' ));
40+ ScaffoldMessenger .of (BaseApp .currentContext! ).showSnackBar (snackBar);
41+ }
42+ BaseApp .currentContext
43+ ? .read <AppBloc >()
44+ .add (const NavigateToLoginScreen ());
45+ } else {
46+ handler.next (err);
47+ }
48+ }
2549}
You can’t perform that action at this time.
0 commit comments