restService method

Future restService(
  1. dynamic arrayData,
  2. String? ruta,
  3. String? token,
  4. String? method,
)

Implementation

Future<dynamic> restService(
    dynamic arrayData, String? ruta, String? token, String? method) async {
  var response;
  String requestStatus = "local_false";
  String requestResponse = "Hubo un error local para procesar la petición";
  String? messageToUser;

  switch (method) {
    case 'post':
      response = await client.post(Uri.parse('$ruta'),
          headers: {
            'Content-Type': 'application/json',
            'Authorization': 'Bearer $token',
          },
          body: jsonEncode(arrayData));
      break;
    case 'put':
      response = await client.put(Uri.parse('$ruta'),
          headers: {
            'Content-Type': 'application/json',
            'Authorization': 'Bearer $token',
          },
          body: jsonEncode(arrayData));
      break;
    case 'delete':
      response = await client.delete(
        Uri.parse('$ruta'),
        headers: {
          'Content-Type': 'application/json',
          'Authorization': 'Bearer $token',
        },
      );
      break;
    case 'get':
      response = await client.get(
        Uri.parse('$ruta'),
        headers: {
          'Content-Type': 'application/json',
          'Authorization': 'Bearer $token',
        },
      );
      break;
    default:
      response = await client.get(
        Uri.parse('$ruta'),
        headers: {
          'Content-Type': 'application/json',
          'Authorization': 'Bearer $token',
        },
      );
      break;
  }
  var jsonResponse = jsonDecode(response.body);
  if (response.statusCode == 200) {
    if (jsonResponse.length == 4) {
      if (jsonResponse['status'] == "true") {
        requestStatus = "server_true";
        requestResponse = jsonEncode(jsonResponse);
        print("Todo bien:" + jsonResponse.toString());
      } else {
        requestStatus = "server_false";
        requestResponse = jsonEncode(jsonResponse);
        messageToUser = jsonResponse['message'].toString();
        print("Hay un problema: " + jsonResponse['message'].toString());
      }
    } else {
      if (jsonResponse[0]['status'] == "true") {
        requestStatus = "server_true";
        requestResponse = jsonEncode(jsonResponse);
        print("Todo bien:" + jsonResponse.toString());
      } else {
        requestStatus = "server_false";
        requestResponse = jsonEncode(jsonResponse);
        messageToUser = jsonResponse[0]['message'].toString();
        print("Hay un problema: " + jsonResponse[0]['message'].toString());
      }
    }
  } else {
    requestStatus = "server_false";
    requestResponse = jsonEncode(jsonResponse);
    print("Hubo un problema para realizar la petición");
    print(response.body);
  }

  return {
    "status": requestStatus,
    "response": requestResponse,
    "message": messageToUser.toString()
  };
}