isAlreadyCompressedContentType function

bool isAlreadyCompressedContentType(
  1. String contentType
)

Returns true if contentType is already compressed.

See isAlreadyCompressedExtension.

Implementation

bool isAlreadyCompressedContentType(String contentType) {
  contentType = contentType.toLowerCase().trim();
  if (contentType.isEmpty) return false;

  var idx = contentType.indexOf(';');
  if (idx >= 0) {
    contentType = contentType.substring(0, idx).trim();
  }

  var idx2 = contentType.indexOf('/');

  var type = idx2 >= 0 ? contentType.substring(idx2 + 1) : contentType;

  if (isAlreadyCompressedExtension(type)) {
    return true;
  }

  if (type.contains('+')) {
    var list = type.split('+');
    var alreadyCompressed =
        list.where((e) => isAlreadyCompressedExtension(e)).isNotEmpty;
    return alreadyCompressed;
  }

  return false;
}