getVariant method
Implementation
Future<void> getVariant(String variantId, GetVariant getVariant) async {
getVariant.onLoading();
final url = Uri.parse(
'https://api.plentrasphere.com/v2/client/?class=default&action=getVariant&appKey=$appKey&variantId=$variantId');
try {
final response = await http.get(url);
if (response.statusCode == 200) {
final jsonData = json.decode(response.body);
final code = jsonData['response']['code'];
final status = jsonData['response']['status'];
if (code == 401) {
getVariant.onError(status);
getVariant.onLoadfinished();
return;
} else if (code == 404) {
getVariant.onNotFound();
getVariant.onLoadfinished();
return;
} else if (code == 400) {
if (status == "app-expired") {
getVariant.onAppNotActive(jsonData['info']['appName']);
getVariant.onLoadfinished();
return;
}
getVariant.onError(status);
getVariant.onLoadfinished();
return;
} else if (code == 406) {
getVariant.onError(status);
return;
}
if (status == "under-construction") {
getVariant.onUnderConstruction();
getVariant.onLoadfinished();
return;
}
getVariant.onResult(
jsonData['variantTag'],
jsonData['variantId'],
jsonData['variantExtras'],
jsonData['variantImage'],
jsonData['variantImages'],
);
getVariant.onLoadfinished();
} else {
getVariant.onError('HTTP ${response.statusCode}');
getVariant.onLoadfinished();
}
} catch (e) {
getVariant.onError(e.toString());
getVariant.onLoadfinished();
}
}