apicall static method

Future<List> apicall({
  1. String requests = 'post',
  2. required Map<String, dynamic> param,
  3. required String uri,
  4. required String label,
})

Implementation

static Future<List> apicall(
    {String requests = 'post',
    required Map<String, dynamic> param,
    required String uri,
    required String label}) async {
  List endresult = [-1, ErrorMsg.wentWrong];
  await Network.networkCheck().then(
    (bool network) async {
      if (network) {
        print(
            "$label :: =====URL=====> requests: $requests, uri: $uri, param: $param");
        print("=TRST = ${json.encode(param)}");
        try {
          var headers = {'Content-Type': 'application/json'};
          var request = http.Request(requests, Uri.parse(uri));
          request.body = json.encode(param);
          request.headers.addAll(headers);
          final http.StreamedResponse response = await request.send();
          final result = await http.Response.fromStream(response);
          if (response.statusCode == 200) {
            print("$label :: ======success======");
            endresult = [result.statusCode, result.body];
          } else {
            print("$label :: ======failed======${result.statusCode}");
            String errorName = ErrorMsg.errorMsg(
                code: result.statusCode, jsonString: result.body);
            endresult = [result.statusCode, errorName];
          }
        } catch (e) {
          print("$label :: ======failed======$e");
          String errorName = ErrorMsg.errorMsg(code: -1, jsonString: '');
          endresult = [-1, errorName];
        }
      } else {
        endresult = [-1, ErrorMsg.noNetwork];
      }
    },
  );
  return endresult;
}