resolveContentEncodingFrom function

APIContentEncoding? resolveContentEncodingFrom(
  1. Map<String, double> accepted,
  2. List<APIContentEncoding> available
)

Same as resolveContentEncoding, with an already parsed Accept-Encoding (parseAcceptEncoding).

Implementation

APIContentEncoding? resolveContentEncodingFrom(
  Map<String, double> accepted,
  List<APIContentEncoding> available,
) {
  if (available.isEmpty || accepted.isEmpty) return null;

  APIContentEncoding? best;
  var bestQ = 0.0;

  for (var encoding in available) {
    var q = acceptEncodingQuality(accepted, encoding.headerValue);
    if (q > bestQ) {
      best = encoding;
      bestQ = q;
    }
  }

  return best;
}