handleRequest method

  1. @override
Future<List<T>?> handleRequest(
  1. Future<Response> request()
)
override

Implementation

@override
Future<List<T>?> handleRequest(
    // ignore: avoid_renaming_method_parameters
    Future<http.Response> Function() request) async {
  try {
    final response = await request();
    if (responsePrint) {
      log('Response Status Code: ${response.statusCode}');
      log('Response Body: ${response.body}');
    }

    // Check if the response is successful
    if (response.statusCode == 200) {
      List<dynamic> jsonResponse = json.decode(response.body);
      return jsonResponse.map((item) => fromJson(item)).toList();
    } else {
      if (shouldPrintErrors == true) {
        log('Error: ${response.statusCode}');
      }
      return null;
    }
  } catch (error) {
    if (shouldPrintErrors == true) {
      log('Error: $error');
    }
    return null;
  }
}