generateHeader method

Map<String, String> generateHeader({
  1. Map<String, String>? customHeaders,
  2. String pageId = "1",
  3. String pageSize = "50",
  4. String contentType = "application/json",
})

Generate a map of headers to be sent to Kyte API.

THe default headers that are required are:

  • X-KYTE-SIGNATURE
  • X-KYTE-IDENTITY
  • X-KYTE-PAGE-IDX
  • X-KYTE-PAGE-SIZE

Implementation

Map<String, String> generateHeader(
    {Map<String, String>? customHeaders,
    String pageId = "1",
    String pageSize = "50",
    String contentType = "application/json"}) {
  var timeStamp = formattedTimeStamp();
  var identityString = generateIdentity(formattedTimeStamp());
  var signature = generateSignature(timeStamp);

  Map<String, String> header = {
    "Content-type": contentType,
    "X-KYTE-SIGNATURE": signature,
    "X-KYTE-IDENTITY": identityString,
    "X-KYTE-PAGE-IDX": pageId,
    "X-KYTE-PAGE-SIZE": pageSize,
  };

  if (appId.isNotEmpty) {
    header.addEntries({"X-KYTE-APPID": appId}.entries);
  }

  if (customHeaders != null) {
    header.addEntries(customHeaders.entries);
  }

  return header;
}