@Override
  public void transport(String message) {

    String currentMessage = "";
    try {

      if (!(message.startsWith("{") && message.endsWith("}"))
          && !(message.startsWith("\"") && message.endsWith("\"")))
        message = wrapMessageInQuotes(message);

      // could use a JSON Object , but the JSON is so trivial , just
      // building it with a StringBuffer
      StringBuffer json = new StringBuffer();
      json.append("{\"").append("event\":").append(message).append(",\"");

      if (!config.getIndex().equalsIgnoreCase("default"))
        json.append("index\":\"").append(config.getIndex()).append("\",\"");

      json.append("source\":\"")
          .append(config.getSource())
          .append("\",\"")
          .append("sourcetype\":\"")
          .append(config.getSourcetype())
          .append("\"")
          .append("}");

      currentMessage = json.toString();

      if (config.isBatchMode()) {
        lastEventReceivedTime = System.currentTimeMillis();
        currentBatchSizeBytes += currentMessage.length();
        batchBuffer.add(currentMessage);
        if (flushBuffer()) {
          currentMessage = rollOutBatchBuffer();
          batchBuffer.clear();
          currentBatchSizeBytes = 0;
          hecPost(currentMessage);
        }
      } else {
        hecPost(currentMessage);
      }

    } catch (Exception e) {
      logger.error("Error writing received data via HEC: " + ModularInput.getStackTrace(e));
    }
  }