postTracker method

Future<PamResponse?> postTracker(
  1. Map<String, dynamic> body
)

Implementation

Future<PamResponse?> postTracker(Map<String, dynamic> body) async {
  var uri = Uri.parse("$baseURL/trackers/events");

  try {
    var response = await HttpClient.post(uri, body: body);

    const encoder = JsonEncoder.withIndent('  ');
    var bodyLog = encoder.convert(body);

    Pam.log([
      "${DateTime.now()}",
      "πŸ¦„πŸ¦„πŸ¦„πŸ¦„πŸ¦„ PAM TRACKING EVENT πŸ¦„πŸ¦„πŸ¦„πŸ¦„πŸ¦„πŸ¦„\n\n",
      uri,
      "----- Payload -----",
      bodyLog,
      "πŸš₯πŸš₯πŸš₯πŸš₯πŸš₯ RESULT πŸš₯πŸš₯πŸš₯πŸš₯πŸš₯",
      "Status Code: ${response.statusCode}",
      "----- Response Body -----",
      response.body,
      "-------------",
      "RES+ = ${response.body}"
    ]);

    final pamResponse = PamResponse.parse(response.body);
    return pamResponse;
  } catch (e, stackTrace) {
    Pam.log(["TRACKING ERROR", stackTrace, e]);

    var errorResponse = PamResponse();
    errorResponse.error =
        PamErrorResponse(code: "EXCEPTION", errorMessage: e.toString());
    return errorResponse;
  }
}