Update transformLocation to not append port when serverName has : after @. (#1422)

Fixes #1420
This commit is contained in:
Corneil du Plessis
2024-07-10 16:08:20 +02:00
committed by GitHub
parent 5d707502eb
commit 071f344a3a

View File

@@ -97,7 +97,11 @@ public abstract class LocationTransformerObjectSupport extends TransformerObject
int serverPort = StringUtils.hasText(xForwardedPort) ? Integer.parseInt(xForwardedPort) : request.getServerPort();
StringBuilder url = new StringBuilder(scheme);
url.append("://").append(serverName).append(':').append(serverPort);
url.append("://").append(serverName);
boolean serverHasColonAfterAt = serverName.indexOf("@") < serverName.indexOf(":");
if(!serverHasColonAfterAt) {
url.append(':').append(serverPort);
}
if (location.startsWith("/")) {
// a relative path, prepend the context path
url.append(request.getContextPath()).append(location);