Skip to content

Commit 2e4f5a7

Browse files
committed
Consistently remove forwarded headers in WebFlux
Preparation for SPR-17072
1 parent 41aa421 commit 2e4f5a7

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

spring-web/src/main/java/org/springframework/web/filter/reactive/ForwardedHeaderFilter.java

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
9191
builder.path(prefix + uri.getPath());
9292
builder.contextPath(prefix);
9393
}
94+
removeForwardedHeaders(builder);
9495
})
9596
.build();
9697
}

spring-web/src/test/java/org/springframework/web/filter/reactive/ForwardedHeaderFilterTests.java

+4
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ public void xForwardedHeaders() throws Exception {
7474
this.filter.filter(getExchange(headers), this.filterChain).block(Duration.ZERO);
7575

7676
assertEquals(new URI("https://84.198.58.199/path"), this.filterChain.uri);
77+
this.filterChain.assertForwardedHeadersRemoved();
7778
}
7879

7980
@Test
@@ -83,6 +84,7 @@ public void forwardedHeader() throws Exception {
8384
this.filter.filter(getExchange(headers), this.filterChain).block(Duration.ZERO);
8485

8586
assertEquals(new URI("https://84.198.58.199/path"), this.filterChain.uri);
87+
this.filterChain.assertForwardedHeadersRemoved();
8688
}
8789

8890
@Test
@@ -93,6 +95,7 @@ public void xForwardedPrefix() throws Exception {
9395

9496
assertEquals(new URI("http://example.com/prefix/path"), this.filterChain.uri);
9597
assertEquals("/prefix/path", this.filterChain.requestPathValue);
98+
this.filterChain.assertForwardedHeadersRemoved();
9699
}
97100

98101
@Test
@@ -103,6 +106,7 @@ public void xForwardedPrefixTrailingSlash() throws Exception {
103106

104107
assertEquals(new URI("http://example.com/prefix/path"), this.filterChain.uri);
105108
assertEquals("/prefix/path", this.filterChain.requestPathValue);
109+
this.filterChain.assertForwardedHeadersRemoved();
106110
}
107111

108112
private MockServerWebExchange getExchange(HttpHeaders headers) {

0 commit comments

Comments
 (0)