SLING-6064 : Only encode url for redirecting when url not absolute - this time checking at the right place.
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1789110 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/servlets/get/impl/RedirectServlet.java b/src/main/java/org/apache/sling/servlets/get/impl/RedirectServlet.java
index 376b77e..b1d612b 100644
--- a/src/main/java/org/apache/sling/servlets/get/impl/RedirectServlet.java
+++ b/src/main/java/org/apache/sling/servlets/get/impl/RedirectServlet.java
@@ -150,7 +150,6 @@
targetPath = targetResource.adaptTo(String.class);
}
- boolean absolute = false;
// if we got a target path, make it external and redirect to it
if (targetPath != null) {
if (!isUrl(targetPath)) {
@@ -161,7 +160,6 @@
// just append any selectors, extension, suffix and query string
targetPath = appendSelectorsExtensionSuffixQuery(request,
new StringBuilder(targetPath)).toString();
- absolute = true;
}
final int status = getStatus(valueMap);
@@ -171,7 +169,7 @@
// into an absolute URI.
response.reset();
response.setStatus(status);
- response.setHeader("Location", absolute ? targetPath : response.encodeRedirectURL(targetPath));
+ response.setHeader("Location", isUrl(targetPath) ? targetPath : response.encodeRedirectURL(targetPath));
response.flushBuffer();
return;