processTroubleShootingEAIEvent method

void processTroubleShootingEAIEvent(
  1. Visitor? visitor,
  2. Hit hit,
  3. Response? res, {
  4. bool onFailed = false,
})

Implementation

void processTroubleShootingEAIEvent(Visitor? visitor, Hit hit, Response? res,
    {bool onFailed = false}) {
  Map<String, String> criticalJson = {};

  try {
    if (res != null) {
      // Http infos
      criticalJson = _createTSHttp(res.request, res);
    }
  } on Exception catch (e) {
    Flagship.logger(Level.EXCEPTIONS, e.toString());
    return;
  }

  criticalJson = _createTSendHit(hit);

  // Add vid aid,uuid
  criticalJson.addEntries(_createTrioIds(visitor).entries);
  var label = "";
  // Send TS report
  if (onFailed == false) {
    label = (hit.type == HitCategory.PAGEVIEW)
        ? CriticalPoints.EMOTIONS_AI_PAGE_VIEW.name
        : CriticalPoints.EMOTIONS_AI_VISITOR_EVENT.name;
  } else {
    label = (hit.type == HitCategory.PAGEVIEW)
        ? CriticalPoints.EMOTIONS_AI_PAGE_VIEW_ERROR.name
        : CriticalPoints.EMOTIONS_AI_VISITOR_EVENT_ERROR.name;
  }
  _sendTroubleShootingReport(
      TroubleshootingHit(visitorId, label, criticalJson));
}