marcsaeg 01/04/29 20:06:48
Modified: src/share/org/apache/tomcat/facade Tag: tomcat_32
HttpServletResponseFacade.java
Log:
Fixes problem encoding URLs that have an anchor but no query string.
PR: 1182
Revision Changes Path
No revision
No revision
1.6.2.5 +17 -11
jakarta-tomcat/src/share/org/apache/tomcat/facade/Attic/HttpServletResponseFacade.java
Index: HttpServletResponseFacade.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/facade/Attic/HttpServletResponseFacade.java,v
retrieving revision 1.6.2.4
retrieving revision 1.6.2.5
diff -u -r1.6.2.4 -r1.6.2.5
--- HttpServletResponseFacade.java 2001/04/16 16:02:12 1.6.2.4
+++ HttpServletResponseFacade.java 2001/04/30 03:06:47 1.6.2.5
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/facade/Attic/HttpServletResponseFacade.java,v
1.6.2.4 2001/04/16 16:02:12 marcsaeg Exp $
- * $Revision: 1.6.2.4 $
- * $Date: 2001/04/16 16:02:12 $
+ * $Header:
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/facade/Attic/HttpServletResponseFacade.java,v
1.6.2.5 2001/04/30 03:06:47 marcsaeg Exp $
+ * $Revision: 1.6.2.5 $
+ * $Date: 2001/04/30 03:06:47 $
*
* ====================================================================
*
@@ -421,20 +421,26 @@
return (url);
String sessionId = session.getId();
- String path = null;
- String query = null;
- int question = url.indexOf("?");
- if (question < 0)
+ String path = null;
+ String everythingElse = null;
+ // First look for a query string
+ int pathEnd = url.indexOf("?");
+ if(pathEnd < 0){
+ // If no query string see if there's an anchor
+ pathEnd = url.indexOf("#");
+ }
+
+ if(pathEnd < 0)
path = url;
else {
- path = url.substring(0, question);
- query = url.substring(question);
+ path = url.substring(0, pathEnd);
+ everythingElse = url.substring(pathEnd);
}
StringBuffer sb = new StringBuffer(path);
sb.append(";jsessionid=");
sb.append(sessionId);
- if (query != null)
- sb.append(query);
+ if(everythingElse != null)
+ sb.append(everythingElse);
return (sb.toString());