setResponseHeaderToHolder method

void setResponseHeaderToHolder(
  1. ResourceDataHolder holder,
  2. VoltronHttpResponse response
)

Implementation

void setResponseHeaderToHolder(final ResourceDataHolder holder, VoltronHttpResponse response) {
  var rspHeaders = holder.responseHeaders ?? <String, String>{};

  rspHeaders["statusCode"] = response.statusCode.toString();
  Map<String, dynamic> headers = response.headerMap;
  if (headers.isEmpty) {
    holder.responseHeaders = rspHeaders;
    return;
  }
  for (var entry in headers.entries) {
    String key = entry.key;
    var value = entry.value;
    if (value is String) {
      rspHeaders[key] = value;
    } else if (value is List) {
      if (value.length == 1) {
        rspHeaders[key] = value[0].toString();
      } else {
        rspHeaders[key] = value.map((e) => e.toString()).join(';');
      }
    }
  }
  holder.responseHeaders = rspHeaders;
}