From 1d4b95fcefeed4790bd9bad52933118863ba6419 Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Tue, 23 Jan 2018 14:26:29 -0500 Subject: [PATCH] Avoid unreleased memory allocations. See gh-171 --- .../cloud/gateway/filter/NettyRoutingFilter.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/NettyRoutingFilter.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/NettyRoutingFilter.java index f3fdff4c..793f9289 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/NettyRoutingFilter.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/NettyRoutingFilter.java @@ -23,6 +23,7 @@ import java.util.List; import org.springframework.beans.factory.ObjectProvider; import org.springframework.core.Ordered; import org.springframework.core.io.buffer.DataBuffer; +import org.springframework.core.io.buffer.NettyDataBuffer; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.server.reactive.ServerHttpRequest; @@ -100,9 +101,8 @@ public class NettyRoutingFilter implements GlobalFilter, Ordered { } return proxyRequest.sendHeaders() //I shouldn't need this - .send(request.getBody() - .map(DataBuffer::asByteBuffer) - .map(Unpooled::wrappedBuffer)); + .send(request.getBody().map(dataBuffer -> + ((NettyDataBuffer)dataBuffer).getNativeBuffer())); }).doOnNext(res -> { ServerHttpResponse response = exchange.getResponse(); // put headers and status so filters can modify the response