Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2014-07-03 00:11:16 +0000
committerGreg Wilkins2014-07-03 00:11:16 +0000
commit7fbf521d4e3294e204080b11b8ae1f1606718eef (patch)
tree55dc17bbfc01cbdd9e16bb53551aa53c2e3a3388 /jetty-proxy
parent78b03c5b8e4b20aba23c939c4d9f217eaae01f0a (diff)
downloadorg.eclipse.jetty.project-7fbf521d4e3294e204080b11b8ae1f1606718eef.tar.gz
org.eclipse.jetty.project-7fbf521d4e3294e204080b11b8ae1f1606718eef.tar.xz
org.eclipse.jetty.project-7fbf521d4e3294e204080b11b8ae1f1606718eef.zip
438204 correctly wrap IPv6 hostnames in URIs generated by jetty
Diffstat (limited to 'jetty-proxy')
-rw-r--r--jetty-proxy/src/main/java/org/eclipse/jetty/proxy/BalancerServlet.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/BalancerServlet.java b/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/BalancerServlet.java
index 6877134521..fed4bf402b 100644
--- a/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/BalancerServlet.java
+++ b/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/BalancerServlet.java
@@ -32,6 +32,8 @@ import javax.servlet.UnavailableException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
+import org.eclipse.jetty.util.URIUtil;
+
public class BalancerServlet extends ProxyServlet
{
private static final String BALANCER_MEMBER_PREFIX = "balancerMember.";
@@ -86,7 +88,7 @@ public class BalancerServlet extends ProxyServlet
}
}
- private void initStickySessions() throws ServletException
+ private void initStickySessions()
{
_stickySessions = Boolean.parseBoolean(getServletConfig().getInitParameter("stickySessions"));
}
@@ -219,17 +221,17 @@ public class BalancerServlet extends ProxyServlet
URI locationURI = URI.create(headerValue).normalize();
if (locationURI.isAbsolute() && isBackendLocation(locationURI))
{
- String newURI = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort();
+ StringBuilder newURI = URIUtil.newURIBuilder(request.getScheme(), request.getServerName(), request.getServerPort());
String component = locationURI.getRawPath();
if (component != null)
- newURI += component;
+ newURI.append(component);
component = locationURI.getRawQuery();
if (component != null)
- newURI += "?" + component;
+ newURI.append('?').append(component);
component = locationURI.getRawFragment();
if (component != null)
- newURI += "#" + component;
- return URI.create(newURI).normalize().toString();
+ newURI.append('#').append(component);
+ return URI.create(newURI.toString()).normalize().toString();
}
}
return headerValue;

Back to the top