Skip to content

Commit

Permalink
Make Java's StreamedResponse.headers case insensitively
Browse files Browse the repository at this point in the history
  • Loading branch information
mkurz committed Jul 8, 2024
1 parent f6bac89 commit a79f608
Showing 1 changed file with 12 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
import scala.jdk.javaapi.StreamConverters;

import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.TreeMap;
import java.util.function.Predicate;

import static java.util.stream.Collectors.toMap;
Expand Down Expand Up @@ -121,7 +123,16 @@ public URI getUri() {
}

private static java.util.Map<String, List<String>> asJava(scala.collection.Map<String, Seq<String>> scalaMap) {
return StreamConverters.asJavaSeqStream(scalaMap).collect(toMap(f -> f._1(), f -> CollectionConverters.asJava(f._2())));
return StreamConverters.asJavaSeqStream(scalaMap).collect(toMap(f -> f._1(), f -> CollectionConverters.asJava(f._2()),
(l, r) -> {
final List<String> merged = new ArrayList<>(l.size() + r.size());
merged.addAll(l);
merged.addAll(r);
return merged;
},
() -> new TreeMap<>(String.CASE_INSENSITIVE_ORDER)
)
);
}

}

0 comments on commit a79f608

Please sign in to comment.