From b31af9eef06db37c53310f242c5d6e587504fa61 Mon Sep 17 00:00:00 2001 From: "koo.taejin" Date: Mon, 13 Mar 2023 12:45:33 +0900 Subject: [PATCH] Remove unnecessary exception creation when Creating a CachedBodyOutputMessage. Fixes gh-2888 --- .../filter/factory/rewrite/CachedBodyOutputMessage.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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..fa01d10e 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,9 @@ 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; }