From b3954c378c29eae12e6f03f94ef80b9830efd4a7 Mon Sep 17 00:00:00 2001 From: jiangyuan Date: Thu, 27 Mar 2025 14:51:48 +0800 Subject: [PATCH] fix RemoveResponseHeaderGatewayFilter remove header Signed-off-by: jiangyuan --- .../factory/RemoveResponseHeaderGatewayFilterFactory.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/RemoveResponseHeaderGatewayFilterFactory.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/RemoveResponseHeaderGatewayFilterFactory.java index bf563fe0..84770879 100644 --- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/RemoveResponseHeaderGatewayFilterFactory.java +++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/RemoveResponseHeaderGatewayFilterFactory.java @@ -48,7 +48,11 @@ public class RemoveResponseHeaderGatewayFilterFactory @Override public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { return chain.filter(exchange) - .then(Mono.fromRunnable(() -> exchange.getResponse().getHeaders().remove(config.getName()))); + .then(Mono.fromRunnable(() -> { + if (!exchange.getResponse().isCommitted()) { + exchange.getResponse().getHeaders().remove(config.getName()); + } + })); } @Override