32 lines
868 B
Dart
32 lines
868 B
Dart
import 'package:dio/dio.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
class AuthInterceptor extends Interceptor {
|
|
@override
|
|
void onRequest(
|
|
RequestOptions options, RequestInterceptorHandler handler) async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
final token = prefs.getString('token');
|
|
|
|
if (token != null) {
|
|
debugPrint('token-->\n $token\n');
|
|
options.headers['Authorization'] = 'Bearer $token';
|
|
}
|
|
|
|
handler.next(options);
|
|
}
|
|
|
|
@override
|
|
void onResponse(Response response, ResponseInterceptorHandler handler) {
|
|
// Handle the response if needed
|
|
handler.next(response);
|
|
}
|
|
|
|
@override
|
|
void onError(DioException err, ErrorInterceptorHandler handler) async {
|
|
if (err.response?.statusCode == 401) {}
|
|
return handler.next(err);
|
|
}
|
|
}
|