getResponse method
Implementation
Future<BaseResponse> getResponse(String resp) async {
if (resp.isEmpty) return BaseResponse();
try {
Map<String, dynamic> json = jsonDecode(resp);
if (Util.checkKeyFromJson(json, 'success') && Util.checkKeyFromJson(json, 'data') && json['success']) return BaseResponse(success: true, data: json['data']);
return BaseResponse(data: json['data'].toString());
} catch (e) {
String? temp;
switch(e.runtimeType.toString()) {
case 'FormatException': temp = 'Tính năng đang bảo trì'; break;
case 'TimeoutException': temp = 'Kết nối bị gián đoạn. Vui lòng kiểm tra internet hoặc thử lại sau vài phút.'; break;
case 'SocketException':
case '_ClientSocketException':
String html = await ApiClient().getString('https://google.com', timeout: 5);
temp = html.isEmpty ? 'Lỗi không kết nối! Vui lòng kiểm tra lại internet của bạn' : 'Hệ thống đang bảo trì';
}
return BaseResponse(data: temp);
}
}