diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/CachedBodyOutputMessage.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/CachedBodyOutputMessage.java index b2182f3f..e23e86c2 100644 --- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/CachedBodyOutputMessage.java +++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/CachedBodyOutputMessage.java @@ -40,8 +40,7 @@ public class CachedBodyOutputMessage implements ReactiveHttpOutputMessage { private boolean cached = false; - private Flux body = Flux - .error(new IllegalStateException("The body is not set. " + "Did handling complete with success?")); + private Flux body = null; public CachedBodyOutputMessage(ServerWebExchange exchange, HttpHeaders httpHeaders) { this.bufferFactory = exchange.getResponse().bufferFactory(); @@ -77,6 +76,10 @@ public class CachedBodyOutputMessage implements ReactiveHttpOutputMessage { * @return body as {@link Flux} */ public Flux getBody() { + if (body == null) { + return Flux + .error(new IllegalStateException("The body is not set. " + "Did handling complete with success?")); + } return this.body; }