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 publicUrls = [LOGIN_URL,SELECT_DEVICE_IMEI,]; class HttpInterceptor extends InterceptorContract { Future 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 interceptResponse({ResponseData data}) async { // print('ResponseData ${data.body}'); return data; } }