in runtime/src/main/scala/org/apache/pekko/grpc/internal/Codecs.scala [47:61]
def negotiate(request: jm.HttpRequest): Codec = {
val headers = extractHeaders(request)
val accepted = `Message-Accept-Encoding`.findIn(headers)
if (accepted.length == 0) {
Identity
} else if (accepted.length == 1) {
supportedByName.get(accepted(0)) match {
case Some(codec) => codec
case None => Identity
}
} else {
accepted.collectFirst { case a if supportedNames.contains(a) => supportedByName(a) }.getOrElse(Identity)
}
}