handleRequest method
Implementation
Future<List<T>?> handleRequest(
Future<http.Response> Function() requestFunc) async {
try {
final response = await requestFunc();
if (response.statusCode == 200 || response.statusCode == 201) {
List<dynamic> jsonResponse = json.decode(response.body);
return jsonResponse.map((item) => fromJson(item)).toList();
} else {
throw Exception('Failed to load data. Status code: ${response.statusCode}');
}
} catch (e, st) {
if (shouldPrintErrors) {
log('Error: $e');
}
if (shouldPrintStackTrace) {
log('StackTrace: $st');
}
return null;
}
}