You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
doctor_app_flutter/lib/interceptor/http_interceptor.dart

49 lines
1.6 KiB
Dart

import 'package:doctor_app_flutter/providers/auth_provider.dart';
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
import 'package:http_interceptor/http_interceptor.dart';
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
List<String> publicUrls = [LOGIN_URL,SELECT_DEVICE_IMEI,];
class HttpInterceptor extends InterceptorContract {
Future<RequestData> interceptRequest({RequestData data}) async {
// print('RequestData ${data.body}');
try {
data.headers["Content-Type"] = "application/json";
data.headers["Accept"] = "application/json";
if (!publicUrls.contains(data.url)) {
var loggedUserInfo = await sharedPref.getObj('loggedUser');
print('loggedUserInfo$loggedUserInfo');
// the sevices handel the token in differat name so I ask to be change
// we must change the implementaion once the name are changed
if(data.body['LogInTokenID']){
data.body['LogInTokenID'] = loggedUserInfo['LogInTokenID'];
}
if(data.body['TokenID']){
data.body['TokenID'] = loggedUserInfo['LogInTokenID'];
}
print('data.body${data.body}');
}
else {
if(data.body['LogInTokenID']){
data.body['LogInTokenID'] = '';
}
if(data.body['TokenID']){
data.body['TokenID'] = '';
}
}
} catch (e) {
print(e);
}
return data;
}
@override
Future<ResponseData> interceptResponse({ResponseData data}) async {
// print('ResponseData ${data.body}');
return data;
}
}