Do not write headers when value is null.
Fixes gh-2378
This commit is contained in:
@@ -284,6 +284,9 @@ public class XForwardedHeadersFilter implements HttpHeadersFilter, Ordered {
|
||||
}
|
||||
|
||||
private void write(HttpHeaders headers, String name, String value, boolean append) {
|
||||
if (value == null) {
|
||||
return;
|
||||
}
|
||||
if (append) {
|
||||
headers.add(name, value);
|
||||
// these headers should be treated as a single comma separated header
|
||||
|
||||
@@ -296,4 +296,17 @@ public class XForwardedHeadersFilterTests {
|
||||
assertThat(headers.getFirst(X_FORWARDED_FOR_HEADER)).isEqualTo("10.0.0.1,10.0.0.1");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void nullValuesSkipped() throws Exception {
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("/get")
|
||||
.remoteAddress(new InetSocketAddress(InetAddress.getByName("10.0.0.1"), 80))
|
||||
.header(X_FORWARDED_FOR_HEADER, "10.0.0.1").build();
|
||||
|
||||
XForwardedHeadersFilter filter = new XForwardedHeadersFilter();
|
||||
|
||||
HttpHeaders headers = filter.filter(request.getHeaders(), MockServerWebExchange.from(request));
|
||||
|
||||
assertThat(headers).doesNotContainKeys(X_FORWARDED_PROTO_HEADER, X_FORWARDED_HOST_HEADER);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user