makeRequest method

Future<Map<String, dynamic>?> makeRequest(
  1. String endpoint,
  2. Object payload
)

Implementation

Future<Map<String, dynamic>?> makeRequest(
    String endpoint, Object payload) async {
  final random = new Random();
  int randomNumber = random.nextInt(100000) * random.nextInt(6);

  // final url = _config.url! + endpoint;

  Map<String, String> body = {
    "payload": encryptAES(json.encode(payload), _config.appStitchKey!),
  };

  if (_config.auth_token != null) {
    body["auth_token"] =
        encryptAES(_config.auth_token!, _config.appStitchKey!);
  }
  final nonce = randomNumber.toString();

  Map<String, String> headers = {
    "clientid": _config.clientID!,
    "xasnonce": nonce,
    "content-type": "application/json"
  };

  try {
    var response = await http
        .post(Uri.https(_config.url!, endpoint),
            headers: headers, body: jsonEncode(body))
        .then((result) {
      return jsonDecode(result.body) as Map<String, dynamic>;
    });

    return response;
  } catch (err) {
    print(err);
    return jsonDecode(err.toString()) as Map<String, dynamic>?;
  }
}