diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/headers/RemoveHopByHopHeadersFilter.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/headers/RemoveHopByHopHeadersFilter.java index ca6641c0..091b7aec 100644 --- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/headers/RemoveHopByHopHeadersFilter.java +++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/headers/RemoveHopByHopHeadersFilter.java @@ -22,7 +22,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; -import java.util.stream.Stream; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.core.Ordered; @@ -70,12 +69,9 @@ public class RemoveHopByHopHeadersFilter implements HttpHeadersFilter, Ordered { @Override public HttpHeaders filter(HttpHeaders originalHeaders, ServerWebExchange exchange) { HttpHeaders filtered = new HttpHeaders(); - List connectionOptions = originalHeaders.getConnection() - .stream() - .map(String::toLowerCase) - .toList(); - Set headersToRemove = Stream.concat(headers.stream(), connectionOptions.stream()) - .collect(Collectors.toSet()); + List connectionOptions = originalHeaders.getConnection().stream().map(String::toLowerCase).toList(); + Set headersToRemove = new HashSet<>(headers); + headersToRemove.addAll(connectionOptions); for (Map.Entry> entry : originalHeaders.entrySet()) { if (!headersToRemove.contains(entry.getKey().toLowerCase())) {