This is an automated email from the ASF dual-hosted git repository.
engelen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-grpc.git
The following commit(s) were added to refs/heads/main by this push:
new 5e070ae5 Refactoring some code of Codec (#287)
5e070ae5 is described below
commit 5e070ae54c75eb77c80772a6ff7d7b871b5134b1
Author: Laglangyue <[email protected]>
AuthorDate: Tue Apr 9 17:21:49 2024 +0800
Refactoring some code of Codec (#287)
* Refactoring some code of Codec
* explicit type
---------
Co-authored-by: tangjiafu <[email protected]>
---
.../main/scala/org/apache/pekko/grpc/internal/Codecs.scala | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/runtime/src/main/scala/org/apache/pekko/grpc/internal/Codecs.scala
b/runtime/src/main/scala/org/apache/pekko/grpc/internal/Codecs.scala
index 4d369184..b7cda170 100644
--- a/runtime/src/main/scala/org/apache/pekko/grpc/internal/Codecs.scala
+++ b/runtime/src/main/scala/org/apache/pekko/grpc/internal/Codecs.scala
@@ -25,8 +25,7 @@ import scala.util.{ Failure, Success, Try }
object Codecs {
// TODO should this list be made user-extensible?
val supportedCodecs = immutable.Seq(Gzip, Identity)
- private val supportedNames: Set[String] = supportedCodecs.map(_.name).toSet
- private val supportedByName = supportedCodecs.map(c => c.name -> c).toMap
+ private val supportedByName: Map[String, Codec] = supportedCodecs.map(c =>
c.name -> c).toMap
private def extractHeaders(request: jm.HttpMessage): Iterable[jm.HttpHeader]
= {
request match {
@@ -47,16 +46,12 @@ object Codecs {
def negotiate(request: jm.HttpRequest): Codec = {
val headers = extractHeaders(request)
val accepted = `Message-Accept-Encoding`.findIn(headers)
-
- if (accepted.length == 0) {
+ if (accepted.isEmpty) {
Identity
} else if (accepted.length == 1) {
- supportedByName.get(accepted(0)) match {
- case Some(codec) => codec
- case None => Identity
- }
+ supportedByName.getOrElse(accepted.head, Identity)
} else {
- accepted.collectFirst { case a if supportedNames.contains(a) =>
supportedByName(a) }.getOrElse(Identity)
+ accepted.collectFirst { case a if supportedByName.contains(a) =>
supportedByName(a) }.getOrElse(Identity)
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]