Files
be_happy_public/lib/data/interceptor/auth_interceptor.dart
Polyanka 182be1049b some fix
# Conflicts:
#	lib/presentation/navigation/app_router.dart
#	pubspec.yaml
2026-08-11 00:23:16 +03:00

26 lines
941 B
Dart

import 'package:dio/dio.dart';
import 'package:be_happy/presentation/viewmodel/splash_bloc.dart';
import 'package:be_happy/presentation/event/spalsh_event.dart';
import '../../di/service_locator.dart';
class AuthInterceptor extends Interceptor {
AuthInterceptor();
@override
void onError(DioException err, ErrorInterceptorHandler handler) {
final String path = err.requestOptions.path;
if (err.response?.statusCode == 401) {
if (!path.contains('/auth/client/refresh') && !path.contains('/auth/client/login')) {
print('Interceptor: 401 на обычном запросе. Пытаемся обновить токен...');
getIt<SplashBloc>().add(AuthCheckRequested());
} else {
print('Interceptor: 401 на запросе авторизации. Пробрасываем ошибку дальше.');
}
}
return super.onError(err, handler);
}
}