refreshHeaders method
Implementation
Future<Map<String, String>> refreshHeaders() async {
if (getImageUrl().isEmpty) {
return {};
}
var count = 0;
// logic to get refreshed headers
// get the available current Token
var token = await Mirrorfly.getCurrentAuthToken();
// This might involve checking the token expiration, refreshing the token if needed, and returning the headers
while ((await isTokenExpired(token))) {
if (count <= 1) {
count++;
if (SessionManagement.getUsername().checkNull().isNotEmpty &&
SessionManagement.getPassword().checkNull().isNotEmpty) {
await Mirrorfly.refreshAndGetAuthToken(flyCallBack: (response) {
token = response.data;
});
}
LogMessage.d(
"ImageNetwork", "refreshAndGetAuthToken retryCount $count");
} else {
LogMessage.d("ImageNetwork",
"refreshHeaders $count retryCount exceed retrying stopped...");
break;
}
}
LogMessage.d("ImageNetwork",
"refreshHeaders url ${getImageUrl()} token: $token statusCode : ${200} retryCount : $count");
// Adding the token in headers
controller.currentAuthToken(token);
return {
'Authorization': token,
};
}