diff --git a/modules/org.restlet.ext.servlet/src/org/restlet/ext/servlet/internal/ServletCall.java b/modules/org.restlet.ext.servlet/src/org/restlet/ext/servlet/internal/ServletCall.java index c11ad1cf38..004786d704 100644 --- a/modules/org.restlet.ext.servlet/src/org/restlet/ext/servlet/internal/ServletCall.java +++ b/modules/org.restlet.ext.servlet/src/org/restlet/ext/servlet/internal/ServletCall.java @@ -164,7 +164,14 @@ public int getClientPort() { */ @Override public String getHostDomain() { - return getRequest().getServerName(); + String serverName = getRequest().getServerName(); + + // Check if the servlet container returned an unbracketed IPv6 address + if (serverName.indexOf(':') != -1 && serverName.indexOf('[') == -1) { + return '[' + serverName + ']'; + } else { + return serverName; + } } /**