Handle X-Forwarded-Prefix parsed by Reactor Netty

See gh-33638
This commit is contained in:
Dariusz Jędrzejczyk
2024-10-01 11:58:54 +02:00
committed by rstoyanchev
parent f9f025df43
commit a78385f8e5
4 changed files with 36 additions and 3 deletions

View File

@@ -65,7 +65,8 @@ class ReactorServerHttpRequest extends AbstractServerHttpRequest {
public ReactorServerHttpRequest(HttpServerRequest request, NettyDataBufferFactory bufferFactory)
throws URISyntaxException {
super(HttpMethod.valueOf(request.method().name()), ReactorUriHelper.createUri(request), "",
super(HttpMethod.valueOf(request.method().name()),
ReactorUriHelper.createUri(request), request.forwardedPrefix(),
new Netty4HeadersAdapter(request.requestHeaders()));
Assert.notNull(bufferFactory, "DataBufferFactory must not be null");
this.request = request;

View File

@@ -48,8 +48,12 @@ abstract class ReactorUriHelper {
builder.append(port);
}
appendRequestUri(request, builder);
String prefix = request.forwardedPrefix();
if (prefix != null && !prefix.isEmpty()) {
builder.append(prefix);
}
appendRequestUri(request, builder);
return new URI(builder.toString());
}