listDomain function
Implementation
Future<ListDomainModel?> listDomain(BuildContext context, Locale locale, int n) async {
int retry = n + 1;
if(retry > 3){
return null;
}
String url = APIPath.listDomain;
showDialog(
context: context,
builder: (_) {
return DialogLoading(title: locale == const Locale('en') ? 'Checking domain' : 'ກຳລັງກວດສອບໂດເມນ');
});
try {
var response = await http.get(Uri.parse(url));
if (response.statusCode == 200) {
await PreferenceInfo().setListDomainData(response.body);
Navigator.pop(context);
return ListDomainModel.fromJson(json.decode(response.body));
} else {
Navigator.pop(context);
errorDialog(
context,
locale == const Locale('en') ? 'Sorry' : 'ຂໍອະໄພ',
'List domain: ${response.statusCode} ${response.body}',
locale == const Locale('en') ? 'Close' : 'ປິດ',
'Phetsarath');
return null;
}
} catch (e) {
return await listDomain(context, locale, retry);
}
}