vgritsenko 02/03/21 18:01:31 Modified: src/java/org/apache/cocoon/environment/http HttpEnvironment.java Log: Fix WebSphere encodeRedirectURL bug/feature. Works with and without PQ51545_eFix Revision Changes Path 1.11 +12 -1 xml-cocoon2/src/java/org/apache/cocoon/environment/http/HttpEnvironment.java Index: HttpEnvironment.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/environment/http/HttpEnvironment.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- HttpEnvironment.java 26 Feb 2002 12:41:39 -0000 1.10 +++ HttpEnvironment.java 22 Mar 2002 02:01:31 -0000 1.11 @@ -55,6 +55,7 @@ import org.apache.cocoon.environment.ObjectModelHelper; import org.apache.cocoon.environment.Redirector; import org.apache.cocoon.environment.Session; +import org.apache.cocoon.util.NetUtils; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; @@ -67,7 +68,7 @@ /** * @author ? - * @version CVS $Id: HttpEnvironment.java,v 1.10 2002/02/26 12:41:39 tcurdt Exp $ + * @version CVS $Id: HttpEnvironment.java,v 1.11 2002/03/22 02:01:31 vgritsenko Exp $ */ public class HttpEnvironment extends AbstractEnvironment implements Redirector { @@ -176,6 +177,16 @@ } // redirect String redirect = this.response.encodeRedirectURL(newURL); + + // FIXME (VG): WebSphere 4.0/4.0.1 bug + if (!newURL.startsWith("/") && newURL.indexOf(':') == -1 && redirect.indexOf(':') != -1) { + getLogger().debug("Redirect: WebSpehere Bug Detected!"); + String base = NetUtils.getPath(request.getRequestURI()); + if (base.startsWith("/")) { + base = base.substring(1); + } + redirect = response.encodeRedirectURL(base + '/' + newURL); + } getLogger().debug("Sending redirect to '" + redirect + "'"); this.response.sendRedirect (redirect);
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]