From 7e9857a663136f48b70443fa338710180f1a553d Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Wed, 21 Nov 2018 10:54:39 -0500 Subject: [PATCH] ForwardedHeaderTransformer handles encoding correctly Issue: SPR-17525 --- .../adapter/ForwardedHeaderTransformer.java | 9 ++++++++- .../ForwardedHeaderTransformerTests.java | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/spring-web/src/main/java/org/springframework/web/server/adapter/ForwardedHeaderTransformer.java b/spring-web/src/main/java/org/springframework/web/server/adapter/ForwardedHeaderTransformer.java index 24aa3d2df77..b7f04bfa102 100644 --- a/spring-web/src/main/java/org/springframework/web/server/adapter/ForwardedHeaderTransformer.java +++ b/spring-web/src/main/java/org/springframework/web/server/adapter/ForwardedHeaderTransformer.java @@ -22,6 +22,7 @@ import java.util.Locale; import java.util.Set; import java.util.function.Function; +import org.springframework.context.ApplicationContext; import org.springframework.http.HttpHeaders; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.lang.Nullable; @@ -36,6 +37,12 @@ import org.springframework.web.util.UriComponentsBuilder; *

Alternatively if {@link #setRemoveOnly removeOnly} is set to "true", * then "Forwarded" and "X-Forwarded-*" headers are only removed, and not used. * + *

An instance of this class is typically declared as a bean with the name + * "forwardedHeaderTransformer" and detected by + * {@link WebHttpHandlerBuilder#applicationContext(ApplicationContext)}, or it + * can also be registered directly via + * {@link WebHttpHandlerBuilder#forwardedHeaderTransformer(ForwardedHeaderTransformer)}. + * * @author Rossen Stoyanchev * @since 5.1 * @see https://tools.ietf.org/html/rfc7239 @@ -85,7 +92,7 @@ public class ForwardedHeaderTransformer implements Function